クリアな履歴とコードために -Git 入門編-
- 1. クリアな履歴とコードのために
-Git 入門編-
Asuka Kamijo
Copyright © 2013 Asuka Kamijo
- 2. その前に
バージョン管理について
Copyright © 2013 Asuka Kamijo
- 3. 簡単に
第1世代
フォルダ分け・台帳管理 例:Excel
第2世代
共有リポジトリ 例:SVN
第3世代
個別のリポジトリ 例:Git
Copyright © 2013 Asuka Kamijo
- 4. 本題
GITとは?
Copyright © 2013 Asuka Kamijo
- 5. Gitとは?
• Git(ギット)はプログラムなどのソースコード管理
を行う分散型バージョン管理システム。
• 動作速度に重点が置かれている。
• Linuxカーネルのソースコード管理を目的として、
リーナス・トーバルズによって開発された。
• Gitではワーキングディレクトリが、ローカルリポ
ジトリの全履歴を含んでいるため、中央サーバ
へのアクセスが不可能な状態であってもリビジョ
ン間の履歴を調査することができる。
[出典]Wikipedia http://ja.wikipedia.org/wiki/Git
Copyright © 2013 Asuka Kamijo
- 6. Gitとは?
つまり?
Copyright © 2013 Asuka Kamijo
- 7. Gitとは?
master
Bob Jane
On Line
Off Line
Bob Jane
Copyright © 2013 Asuka Kamijo
- 8. Gitとは?
master
Bob Jane
On Line
Off Line
Bob Jane
オフラインでも
commit出来る。
Copyright © 2013 Asuka Kamijo
- 9. Gitとは?
master
Bob Jane
On Line
Off Line
diffが取りやすく、
取り込みやすい。
Bob Jane
Copyright © 2013 Asuka Kamijo
- 13. Gitのメリット
• 使い勝手のいいWebサービスがある
– GitHub
– SourceTree
– BitBacket
• リポジトリの作成や更新が速い
• 更新したいときに、ネットワークにつながって
いる必要がない
Copyright © 2013 Asuka Kamijo
- 14. Gitのデメリット
• 初期導入に半日程度の学習期間が必要
– Gitのデータ構造
– Gitの仕組み
– 操作の理解
• CUI操作が多いため、敷居が高く感じる
• 使い勝手のいいWebサービスはタダではない
Copyright © 2013 Asuka Kamijo
- 16. まず、自分のリポジトリを作る
master
Bob Jane
On Line
Off Line
> git init
Bob Jane
Copyright © 2013 Asuka Kamijo
- 17. オンラインのリポジトリを複製する
master
Bob Jane
On Line
Off Line
> git clone [URL]
Bob Jane
Copyright © 2013 Asuka Kamijo
- 18. 更新対象を決める
master
Bob Jane
On Line
Off Line
> git add [file]
Bob Jane
Copyright © 2013 Asuka Kamijo
- 19. 自分のリポジトリに更新する
master
Bob Jane
On Line
Off Line
Bob Jane
> git commit -m “first commit”
Copyright © 2013 Asuka Kamijo
- 20. 更新内容をオンラインへ反映する
master
Bob Jane
On Line
Off Line
> git push origin Bob
Bob Jane
Copyright © 2013 Asuka Kamijo
- 21. 他の人の更新内容を取ってくる
master
Bob Jane
On Line
Off Line
Bob Jane
> git fetch origin Bob
Copyright © 2013 Asuka Kamijo
- 22. 他の人の更新内容を反映する
master
Bob Jane
On Line
Off Line
Bob Jane
> git merge origin Bob
Copyright © 2013 Asuka Kamijo
- 24. 支援ツールや課題
GITを社内で使えるようにするには
Copyright © 2013 Asuka Kamijo
- 26. GitHubとは?
• オープンソースのWebサービスです
• Gitの作業環境を提供してくれます
• コードや画像の差分を検出してくれます
• それぞれの更新でDiffがとられ、行単位、画
像の位置単位で確認できます
• 更新に対して、誰でもコメントが付けられます
• fetchして欲しい時に周知ができます
– [pull request]
Copyright © 2013 Asuka Kamijo
- 27. 補足:何故 pull requestなの?
master
> git pull origin
Bob:Jane
Bob Jane
On Line
Off Line
Bob Jane
Copyright © 2013 Asuka Kamijo
- 28. 更新した内容を周知する
master
Bob Jane
On Line
Off Line
pull request
コード
レビューや
取り込み
対象の確認
Bob Jane
Copyright © 2013 Asuka Kamijo
- 30. すぐやろう! でも・・・
• お金かかるんでしょ?
– はい。10名の非公開編集者、20リポジトリで月額 $22。
– Stashというサービスが、社内限定で構築できるGitHub
ライクな環境を提供しています。
こちらは買い切りで、10ユーザ $10, 50ユーザ $3,300。
– http://www.atlassian.com/ja/software/stash/overview
• CUIはちょっと・・・
– Windows版のGitHub用GUIは結構優秀です
– http://windows.github.com/
Copyright © 2013 Asuka Kamijo