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

More Related Content

PPTX
新卒2年目のchef guy
PDF
”試してみた”で終わらない サーバーレスアプリケーションの実践開発
PDF
VS Code新機能紹介 2020-2021
PDF
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
PDF
お気に入り拡張機能
PPTX
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
PDF
.NET アプリを改善して実践する継続的インテグレーション
PDF
Azure Functions Tips
新卒2年目のchef guy
”試してみた”で終わらない サーバーレスアプリケーションの実践開発
VS Code新機能紹介 2020-2021
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
お気に入り拡張機能
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
.NET アプリを改善して実践する継続的インテグレーション
Azure Functions Tips

What's hot (20)

PPTX
kintoneの開発プロセスとプロジェクト管理ツール
PDF
オルターブースが実践する .NET Core “ガチ” 開発
PDF
DevOps、その前に
PDF
PHPerだってサーバーレスしたい!
PDF
Wantedlyを2年間Herokuで運用した話
PDF
PyconJP2017 Kivyによるアプリケーション開発のすすめ
PDF
AndroidStudioはじめました ~Gradle編~
PDF
Microsoft Build Recap Community Day
PDF
ユーザテストのススメ
PDF
UnitTest
PPTX
Kivy CatalogでKv Languageを知る
PDF
Hello. Continuous Integration
PDF
【BS7】GitHubをフル活用した開発
PDF
Herokuトレーニング
PDF
Ignite 2021 振り返り(DevOps)
PDF
未知との交信!?Project SignalR
PPTX
First git ops
PDF
[Android] モジュール管理で ビルド高速化!
PDF
Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!
PPTX
Android e2e testing at mercari
kintoneの開発プロセスとプロジェクト管理ツール
オルターブースが実践する .NET Core “ガチ” 開発
DevOps、その前に
PHPerだってサーバーレスしたい!
Wantedlyを2年間Herokuで運用した話
PyconJP2017 Kivyによるアプリケーション開発のすすめ
AndroidStudioはじめました ~Gradle編~
Microsoft Build Recap Community Day
ユーザテストのススメ
UnitTest
Kivy CatalogでKv Languageを知る
Hello. Continuous Integration
【BS7】GitHubをフル活用した開発
Herokuトレーニング
Ignite 2021 振り返り(DevOps)
未知との交信!?Project SignalR
First git ops
[Android] モジュール管理で ビルド高速化!
Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!
Android e2e testing at mercari
Ad

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

PDF
PDF
[TL09] 突撃! 隣の Visual Studio Team Services / Team Foundation Server ~利用者からのベスト...
PDF
Office365最新動向と運用管理tips
PPTX
第1回Git勉強会
PPTX
Git社内勉強会資料
PDF
Gitの使い方
PDF
ノンプログラマのGit入門
PDF
Ignite ui 2012 最新情報 jQuery UI 編
PDF
Oprol_Engine_pitch_v1_final
PDF
Git&GitHub入門
PDF
Git extensions ws外部公開用
PPTX
Desktop app dev strategy for .net core 3.0
PPTX
グループ制作注意
PDF
Delphi Plug-ins and Components for dummies
PDF
大容量ファイルもGitで管理。 Git LFSの使い方
PPTX
ZendStudioのご紹介
PDF
第8回 福岡西区勉強会
PDF
XPages開発におけるGit/GitHubの利用
PDF
言語差異によるTDDプロセスへの影響度の解析
PDF
Code igniterでテスト駆動開発 資料作成中
[TL09] 突撃! 隣の Visual Studio Team Services / Team Foundation Server ~利用者からのベスト...
Office365最新動向と運用管理tips
第1回Git勉強会
Git社内勉強会資料
Gitの使い方
ノンプログラマのGit入門
Ignite ui 2012 最新情報 jQuery UI 編
Oprol_Engine_pitch_v1_final
Git&GitHub入門
Git extensions ws外部公開用
Desktop app dev strategy for .net core 3.0
グループ制作注意
Delphi Plug-ins and Components for dummies
大容量ファイルもGitで管理。 Git LFSの使い方
ZendStudioのご紹介
第8回 福岡西区勉強会
XPages開発におけるGit/GitHubの利用
言語差異によるTDDプロセスへの影響度の解析
Code igniterでテスト駆動開発 資料作成中
Ad

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