Gitでやろう。
2014.07.28
オールフェスタ 社内勉強会
この勉強会の狙い
1.Gitの導入メリットを知る
2.基本的な使い方を知る
大きな狙い
それ自体が直接価値を生まない作業を、
ツールの力を使って減らし、
価値を生む作業に全力を注ぐことで、
仕事をもっとたのしくする。
1. 導入のメリット
2. 基本的な仕組みと流れ
3. 実践
アジェンダ
導入のメリット
• ファイル管理が標準化できる
• コードレビューが容易に行える
• 複数人での開発を効率的に行える
ファイル管理を
標準化
AFあるある
別バージョンを作りたいから
違う名前にして保存しよう!
別verファイル:index2.html
元ファイル: index.html
別バージョンを名前をつけて保存
・・・。
_index.html
index_0730.html
index_最新.html
結果、カオス。
index_田所修正.html
indexのコピー.html
0730/index.html
AFあるある
楽しくない
© タイトル:ブラックジャックによろしく 著作者名: 佐藤秀峰 サイト名: 漫画 on web URL: http://mangaonweb.com/
Gitなら!
「いつ」
「だれが 」
「どんな目的のために」
「なにをした」をもとに
ファイルを管理できる。
「コミット」
「なにをした」の単位を
「コミット」という。
(あとでまた出てくる)
コミット
コミット
コミット
実際の画面
「ファイル管理にムダに気を使う」
という「直接価値を生まない作業」を
なくす。
コードレビューを
容易に
コードレビュー?
コードレビュー(英: Code review)は、ソフトウェ
ア開発工程で見過ごされた誤りを検出・修正するため
にソースコードの体系的な検査(査読)を行うこと。
ソフトウェア品質を高めると同時に開発スキルの向上
を図ることがで...
page.css、修正しました!
追加・変更箇所がわからない
AFあるある
(page.cssのどこだよ…)
楽しくない
© タイトル:ブラックジャックによろしく 著作者名: 佐藤秀峰 サイト名: 漫画 on web URL: http://mangaonweb.com/
Gitなら!
「なにが追加された」
「なにが削除された 」
「どう変更された」を
とても簡単に確認できる。
実際の画面
実際の画面
変更・追加・削除を
簡単に確認できる
ので、コードレビューを
お互いにもっと活発にやっていきたい
→品質の向上
→スキルの向上
複数人での開発を
効率的に
わーいできた!
同じファイルを同時に編集
AFあるある
・・・。
結果、衝突。
AFあるある
楽しくない
© タイトル:ブラックジャックによろしく 著作者名: 佐藤秀峰 サイト名: 漫画 on web URL: http://mangaonweb.com/
・・・。
衝突を避けるために片方が待機
AFあるある
楽しくない
© タイトル:ブラックジャックによろしく 著作者名: 佐藤秀峰 サイト名: 漫画 on web URL: http://mangaonweb.com/
Gitなら!
リポジトリ(ファイル置き場)と
作業ツリー(作業場)が
別になっているので、
同じファイルを
同時に編集しても問題ない。
Gitなら!
競合が起きたら、
起きている箇所を
知らせたうえで、
どのようにするかを
決定できる。
実際の画面
競合の解決
• 自分を相手に合わせる
• 相手を自分に合わせる←トラブルになりやすい
• 両方の変更を確認して手作業で合わせ込む
導入のメリット
• ファイル管理が標準化できる
• コードレビューが容易に行える
• 複数人での開発を効率的に行える
基本的な仕組みと流れ
用語はSourceTreeでの呼び方に準じます。
全体像
リモートリポジトリ
ローカルリポジトリ
インデックス
作業ツリー
他の開発者
いま作業している対象のファイルを
置いておくところ
作業ツリー
ひとまとめにしてコミットしたいファイルを
とりあえず置いておくところ
インデックス
作業ツリー インデックス
ステージ(ング)
コミットしたいファイルを登録すること
リモートリポジトリに送るコミットを
記録する場所
ローカルリポジトリ
インデックス
コミット
「なにをした」の単位を記録すること
ローカルリポジトリ
複数人で共有するリポジトリ
リモートリポジトリ
ローカルリポジトリ
プッシュ
ローカルリポジトリの内容を
リモートリポジトリに送ること
リモートリポジトリ
リモートリポジトリ
プル
プッシュの逆。
リモートリポジトリの内容を
ローカルリポジトリに反映
ローカルリポジトリ
流れは
「郵便を送る際の手順」
に似ている。
郵便 Git
手紙を書く
作業ツリーの
ファイルを編集
封筒に入れる
インデックスに
ステージする
封筒の封をする コミットする
ポストにいれる プッシュする
受け取る プルする
なんとなくの理解でOK。
やってくうちに覚えます。
やってくうちに覚えられない場合は…フフフ…
実践
その前にいったん休憩。
休憩後は実際に触ってみよう。
オールフェスタ Git勉強会資料 (public)
オールフェスタ Git勉強会資料 (public)
オールフェスタ Git勉強会資料 (public)
Upcoming SlideShare
Loading in …5
×

オールフェスタ Git勉強会資料 (public)

607 views
545 views

Published on

Gitを扱ったことがないメンバーを対象に行った社内勉強会の資料です。

Published in: Engineering
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
607
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
9
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

オールフェスタ Git勉強会資料 (public)

  1. 1. Gitでやろう。 2014.07.28 オールフェスタ 社内勉強会
  2. 2. この勉強会の狙い 1.Gitの導入メリットを知る 2.基本的な使い方を知る
  3. 3. 大きな狙い それ自体が直接価値を生まない作業を、 ツールの力を使って減らし、 価値を生む作業に全力を注ぐことで、 仕事をもっとたのしくする。
  4. 4. 1. 導入のメリット 2. 基本的な仕組みと流れ 3. 実践 アジェンダ
  5. 5. 導入のメリット • ファイル管理が標準化できる • コードレビューが容易に行える • 複数人での開発を効率的に行える
  6. 6. ファイル管理を 標準化
  7. 7. AFあるある 別バージョンを作りたいから 違う名前にして保存しよう! 別verファイル:index2.html 元ファイル: index.html 別バージョンを名前をつけて保存
  8. 8. ・・・。 _index.html index_0730.html index_最新.html 結果、カオス。 index_田所修正.html indexのコピー.html 0730/index.html AFあるある
  9. 9. 楽しくない © タイトル:ブラックジャックによろしく 著作者名: 佐藤秀峰 サイト名: 漫画 on web URL: http://mangaonweb.com/
  10. 10. Gitなら! 「いつ」 「だれが 」 「どんな目的のために」 「なにをした」をもとに ファイルを管理できる。
  11. 11. 「コミット」 「なにをした」の単位を 「コミット」という。 (あとでまた出てくる) コミット コミット コミット
  12. 12. 実際の画面
  13. 13. 「ファイル管理にムダに気を使う」 という「直接価値を生まない作業」を なくす。
  14. 14. コードレビューを 容易に
  15. 15. コードレビュー? コードレビュー(英: Code review)は、ソフトウェ ア開発工程で見過ごされた誤りを検出・修正するため にソースコードの体系的な検査(査読)を行うこと。 ソフトウェア品質を高めると同時に開発スキルの向上 を図ることができる。 - wikipedia
  16. 16. page.css、修正しました! 追加・変更箇所がわからない AFあるある (page.cssのどこだよ…)
  17. 17. 楽しくない © タイトル:ブラックジャックによろしく 著作者名: 佐藤秀峰 サイト名: 漫画 on web URL: http://mangaonweb.com/
  18. 18. Gitなら! 「なにが追加された」 「なにが削除された 」 「どう変更された」を とても簡単に確認できる。
  19. 19. 実際の画面
  20. 20. 実際の画面
  21. 21. 変更・追加・削除を 簡単に確認できる ので、コードレビューを お互いにもっと活発にやっていきたい →品質の向上 →スキルの向上
  22. 22. 複数人での開発を 効率的に
  23. 23. わーいできた! 同じファイルを同時に編集 AFあるある
  24. 24. ・・・。 結果、衝突。 AFあるある
  25. 25. 楽しくない © タイトル:ブラックジャックによろしく 著作者名: 佐藤秀峰 サイト名: 漫画 on web URL: http://mangaonweb.com/
  26. 26. ・・・。 衝突を避けるために片方が待機 AFあるある
  27. 27. 楽しくない © タイトル:ブラックジャックによろしく 著作者名: 佐藤秀峰 サイト名: 漫画 on web URL: http://mangaonweb.com/
  28. 28. Gitなら! リポジトリ(ファイル置き場)と 作業ツリー(作業場)が 別になっているので、 同じファイルを 同時に編集しても問題ない。
  29. 29. Gitなら! 競合が起きたら、 起きている箇所を 知らせたうえで、 どのようにするかを 決定できる。
  30. 30. 実際の画面
  31. 31. 競合の解決 • 自分を相手に合わせる • 相手を自分に合わせる←トラブルになりやすい • 両方の変更を確認して手作業で合わせ込む
  32. 32. 導入のメリット • ファイル管理が標準化できる • コードレビューが容易に行える • 複数人での開発を効率的に行える
  33. 33. 基本的な仕組みと流れ 用語はSourceTreeでの呼び方に準じます。
  34. 34. 全体像 リモートリポジトリ ローカルリポジトリ インデックス 作業ツリー 他の開発者
  35. 35. いま作業している対象のファイルを 置いておくところ 作業ツリー
  36. 36. ひとまとめにしてコミットしたいファイルを とりあえず置いておくところ インデックス
  37. 37. 作業ツリー インデックス ステージ(ング) コミットしたいファイルを登録すること
  38. 38. リモートリポジトリに送るコミットを 記録する場所 ローカルリポジトリ
  39. 39. インデックス コミット 「なにをした」の単位を記録すること ローカルリポジトリ
  40. 40. 複数人で共有するリポジトリ リモートリポジトリ
  41. 41. ローカルリポジトリ プッシュ ローカルリポジトリの内容を リモートリポジトリに送ること リモートリポジトリ
  42. 42. リモートリポジトリ プル プッシュの逆。 リモートリポジトリの内容を ローカルリポジトリに反映 ローカルリポジトリ
  43. 43. 流れは 「郵便を送る際の手順」 に似ている。
  44. 44. 郵便 Git 手紙を書く 作業ツリーの ファイルを編集 封筒に入れる インデックスに ステージする 封筒の封をする コミットする ポストにいれる プッシュする 受け取る プルする
  45. 45. なんとなくの理解でOK。 やってくうちに覚えます。 やってくうちに覚えられない場合は…フフフ…
  46. 46. 実践 その前にいったん休憩。 休憩後は実際に触ってみよう。

×