SlideShare a Scribd company logo
1 of 45
Download to read offline
Github勉強会
Presented by Atom
Git
本日の目標
Githubでリポジトリを作って連携
リポジトリをPrivateにする
コマンドの流れを覚える
バージョン管理、しましょう。
しないとどうなる?
( ^o^)<コードを改良しよう!
( ^o^)<コードを改良しよう!
( ˘⊖˘) 。o(まてよ、前のコードの方が良かったんじゃないか?)
( ^o^)<コードを改良しよう!
( ˘⊖˘) 。o(まてよ、前のコードの方が良かったんじゃないか?)
|バックアップ| ┗(☋` )┓三
( ^o^)<コードを改良しよう!
( ˘⊖˘) 。o(まてよ、前のコードの方が良かったんじゃないか?)
|バックアップ| ┗(☋` )┓三
( ◠‿◠ )貴様はすでに上書き保存している
( ^o^)<コードを改良しよう!
( ˘⊖˘) 。o(まてよ、前のコードの方が良かったんじゃないか?)
|バックアップ| ┗(☋` )┓三
( ◠‿◠ )貴様はすでに上書き保存している
▂▅▇█▓▒░(’ω’)░▒▓█▇▅▂しまったぁあああああ
( ^o^)<コードを改良しよう!
( ˘⊖˘) 。o(まてよ、前のコードの方が良かったんじゃないか?)
|バックアップ| ┗(☋` )┓三
( ◠‿◠ )貴様はすでに上書き保存している
▂▅▇█▓▒░(’ω’)░▒▓█▇▅▂しまったぁあああああ
最悪すぎる
よくある解決方法
地獄の始まり
「それ、Dropboxでよくね?」
1つのファイルを
1人でいじるなら
Dropboxだと不便な事例
変更したファイルが複数ある
複数人で同じコード触れない
どの状態に戻すと適切か分からない
ライブラリ追加して、ヘッダ書き換えて、メインのコードをいじって……。
いまからこっちのコード書きなおすからさわらないで!(←最高に無駄な時間)
これって、どこまで戻れば正常に動いてたんだっけ……。
そこでバージョン管理ですよ、奥さん。
Gitとはなんぞや?
Ruby on Rails、Perl、Android開発でも
Linux kernel開発で使われている
分散型バージョン管理システム
分散型のバージョン管理システム
変更
コミット
個人
リポジトリ
変更
共有
リポジトリコミット
個人
リポジトリ
プ
ッ
シ
ュ
分散型のバージョン管理システム
変更
共有
リポジトリコミット
個人
リポジトリ
プ
ル
プ
ッ
シ
ュ
個人
リポジトリ
分散型のバージョン管理システム
変更
共有
リポジトリコミット
個人
リポジトリ
プ
ル
プ
ッ
シ
ュ
個人
リポジトリ
分散型のバージョン管理システム
変更
変更
共有
リポジトリコミット
個人
リポジトリ
コミット
プ
ル
プ
ッ
シ
ュ
個人
リポジトリ
変更
分散型のバージョン管理システム
変更
共有
リポジトリコミット
個人
リポジトリ
コミット
プ
ッ
シ
ュ
プ
ル
プ
ッ
シ
ュ
個人
リポジトリ
変更
分散型のバージョン管理システム
変更
共有
リポジトリコミット
個人
リポジトリ
コミット
プ
ッ
シ
ュ
プ
ル
プ
ル
プ
ッ
シ
ュ
変更
個人
リポジトリ
分散型のバージョン管理システム
変更
共有
リポジトリコミット コミット
プ
ッ
シ
ュ
プ
ル
プ
ル
プ
ッ
シ
ュ
SSHサーバ
変更
個人
リポジトリ
個人
リポジトリ
分散型のバージョン管理システム
分散型のバージョン管理システム
変更
共有
リポジトリコミット コミット
プ
ッ
シ
ュ
プ
ル
プ
ル
プ
ッ
シ
ュ
SSHサーバ
変更
個人
リポジトリ
個人
リポジトリ
自分でサーバ管理したくない!
GitHub
GitHubとはなんぞや?
PullRequestで気軽にOSSに貢献
ソーシャルコーディングの世界
Gitのホスティングサービス
試してみよう
Githubでリポジトリ作成
ローカルにリポジトリ作成
$ mkdir projects
$ cd projects
$ mkdir spike_repo
$ cd spike_repo
$ touch README.md
$ emacs README.md (好きなエディタで編集)
いろんなプロジェクトを入れるディレクトリを作って移動
テスト用のディレクトリを作って移動
README.mdを作る。Markdown方式で書きます。
$ git init
$ git add README.md
$ git commit -m "first commit"
$ git remote add origin git@github.com:FromAtom/hitlab_test.git
$ git push -u origin master
ディレクトリ内をgitリポジトリ化して、Githubと連携する。
各コマンドの説明
大まかなコマンドの流れ
1 git pull |他人の変更を取得
2 git add |ファイルの変更・追加
3 git commit|変更をコミット
4 git push |コミットをgithubに送信
5 1に戻る
リポジトリを非公開に
練習方法
http://try.github.com/
ブランチは?
時間足りないので省略
参考ページ・文献を読もう
参考ページ
• こわくないGit:http://www.slideshare.net/kotas/git-15276118
• サルでもわかるGit入門:http://www.backlog.jp/git-guide/
• いつやるの?Git入門:http://www.slideshare.net/matsukaz/git-17499005
参考文献
• Pro Git:http://progit-ja.github.io/
• 入門Git:http://www.amazon.co.jp/dp/427406767X
おわり

More Related Content

What's hot

最近のRust関連の活動
最近のRust関連の活動最近のRust関連の活動
最近のRust関連の活動Hattori Hideo
 
ニコニコ生放送のタイムシフトを無料で保存する方法
ニコニコ生放送のタイムシフトを無料で保存する方法ニコニコ生放送のタイムシフトを無料で保存する方法
ニコニコ生放送のタイムシフトを無料で保存する方法tani-page
 
ニコニコ生放送のタイムシフトを無料で保存する方法
ニコニコ生放送のタイムシフトを無料で保存する方法ニコニコ生放送のタイムシフトを無料で保存する方法
ニコニコ生放送のタイムシフトを無料で保存する方法tani-page
 
One - Common Lispでもワンライナーしたい
One - Common LispでもワンライナーしたいOne - Common Lispでもワンライナーしたい
One - Common Lispでもワンライナーしたいt-sin
 
バイナリ解析入門
バイナリ解析入門バイナリ解析入門
バイナリ解析入門aksechack0001
 
Gitの使い方(rabese -i編)
Gitの使い方(rabese -i編)Gitの使い方(rabese -i編)
Gitの使い方(rabese -i編)y42sora
 
Stroustrup10章雑感
Stroustrup10章雑感Stroustrup10章雑感
Stroustrup10章雑感31 00
 

What's hot (9)

最近のRust関連の活動
最近のRust関連の活動最近のRust関連の活動
最近のRust関連の活動
 
ニコニコ生放送のタイムシフトを無料で保存する方法
ニコニコ生放送のタイムシフトを無料で保存する方法ニコニコ生放送のタイムシフトを無料で保存する方法
ニコニコ生放送のタイムシフトを無料で保存する方法
 
ニコニコ生放送のタイムシフトを無料で保存する方法
ニコニコ生放送のタイムシフトを無料で保存する方法ニコニコ生放送のタイムシフトを無料で保存する方法
ニコニコ生放送のタイムシフトを無料で保存する方法
 
ゼミGit
ゼミGitゼミGit
ゼミGit
 
One - Common Lispでもワンライナーしたい
One - Common LispでもワンライナーしたいOne - Common Lispでもワンライナーしたい
One - Common Lispでもワンライナーしたい
 
バイナリ解析入門
バイナリ解析入門バイナリ解析入門
バイナリ解析入門
 
Gitの使い方(rabese -i編)
Gitの使い方(rabese -i編)Gitの使い方(rabese -i編)
Gitの使い方(rabese -i編)
 
チートシート
チートシートチートシート
チートシート
 
Stroustrup10章雑感
Stroustrup10章雑感Stroustrup10章雑感
Stroustrup10章雑感
 

Github勉強会