SlideShare a Scribd company logo
1 of 79
Download to read offline
だいたいわかるGit
Masashi Tsuru
もくじ
Git と Github
Github-flow
PullRequest
Git と Github
Git と Github
B B B
1 2 3
A AA
1 2 3
Gitはバージョン管理!
Git と Github
B B
B
1 2 3
A A
A
1 2 3
Webへどーん!
BA
じぶんのPC
Git と Github
B B
B
1 2 3
A A
A
1 2 3
Web上でも
  バージョン管理!
BA
A A
A
1 2 3
B B
B
1 2 3
じぶんのPC
Git と Github
B B
B
1 2 3
A A
A
1 2 3
BA
A A
A
1 2 3
じぶんのPC
A A
A
1 2 3
べつのPC
べつのPCにも共有!
Git と Github
B B
B
1 2 3
A A
A
1 2 3
コレがGithub!
BA
じぶんのPC コレ
Git と Github
B B
B
1 2 3
A A
A
1 2 3
コレがGithub!
BA
じぶんのPC コレ
そして
Git と Github
B B
B
1 2 3
A A
A
1 2 3
コレがGithub!
BA
じぶんのPC コレ
いままで説明したすべてが
Git と Github
B B
B
1 2 3
A A
A
1 2 3
コレがGithub!
BA
じぶんのPC コレ
いままで説明したすべてが
Git と Github
Gitはバージョン管理システム
GithubはWebサービスのひとつ
Git と Github
Gitはバージョン管理システム
GithubはWebサービスのひとつ
つまり!
Git と Github
B B
B
1 2 3
A A
A
1 2 3
同系Webサービスの
Bitbucketで管理しても
GitはGit!
BA
じぶんのPC
Bitbucket
A A
A
1 2 3
Git と Github
参照 http://www.find-job.net/startup/5-git-hosting
他にもいろんなサービスでGithubの代用ができる
Git と Github まとめ
GithubはWebサービスのひとつ

-> リモートって呼んでる部分

-> リモートは置き換え可
Gitはバージョン管理システム

-> リモートも含めたもの
Github-flow
Github-flow
A
じぶんのPC
master
Github-flow 

開発の流れをルール化したもの
!
最終的な結果

masterが変更される。
Github-flow
A
じぶんのPC
A
master
master
clone
じぶんの開発環境にmasterを用意
Github-flow
A
じぶんのPC
A
master
master
A
branch-1
開発用のブランチを作成
Github-flow
A
じぶんのPC
A master
master
A
branch-1
A
branch-1
push
Github上にもブランチを
作った情報を反映できる
Github-flow
A
じぶんのPC
A master
master
A
branch-1
A
branch-1
A’
1 commit 2
ブランチ内で開発
& 変更を管理(commit)
Github-flow
じぶんのPC
A
master
A
branch-1
A
branch-1
A’
1 2
A’
commit 3
Github-flow
A
master
master
branch-1
branch-1
push
A
A A’
1 2
A’
3
じぶんのPC
A’
Githubへ変更情報を送信
Github-flow
master
branch-1
A
A A’
1 2
A’
3
じぶんのPC
A
master
branch-1
A’
PullRequest
Github上で
「変更をmasterへ反映してよ∼!」
ってリクエストする
Github-flow
master
branch-1
A
A A’
1 2
A’
3
じぶんのPC
master
branch-1
A’
A’
Github上で「わかった」って承認した
らmasterに情報が融合(merge)される
Github-flow
master
branch-1
A
A A’
1 2
A’
3
じぶんのPC
master
branch-1
A’
A’
Github上でbranch-1を消す
Github-flow
master
master
branch-1
pull
A
A A’
1 2
A’
3
じぶんのPC
A’
Githubから最新のmasterの
情報を取得できる
Github-flow
master
master
branch-1
A
A A’
1 2
A’
3
じぶんのPC
A’
A’
2
A’
3
Github上で
masterに反映された内容が
じぶんのPCに反映される
Github-flow
master
master
branch-1
A
A A’
1 2
A’
3
じぶんのPC
A’
A’
2
A’
3
branch-1はmasterに融合
されて要らないから、ポイ!
Github-flow
master
master
A
じぶんのPC
A’
A’
2
A’
3
ていうのを、繰り返して
開発を進めるのが
Github-flow
Github-flow
そいえば、最初に・・・
Github-flow
Github-flow
って、ことは・・・
最終的な結果

masterが変更される。
Github-flow
じぶんの環境でmasterに
融合(merge)させて、
Github上に
変更情報を送信(push)したら
いんじゃね!?
1.
2.
Github-flow
だから・・・
Github-flow
master
branch-1
merge
A
A A’
1 2
A’
3
じぶんのPC
じぶんの環境でmasterに
融合(merge)させて、
A
master
1.
Github-flow
master
branch-1
A
A A’
1 2
A’
3
じぶんのPC
A’
2
A’
3
Github上に
変更情報を送信(push)したら
push
A
master
2.
Github-flow
master
branch-1
A
A A’
1 2
A’
3
じぶんのPC
A’
2
A’
3
いんじゃね!?
master
A’
Github-flow
master
branch-1
A
A A’
1 2
A’
3
じぶんのPC
A’
2
A’
3
master
A’
いや…
いんじゃね!?
Github-flow
レ
ビ
ュ
|
の
効
率
が
運
用
す
る
と
全
然
違
う
ん
だ
よ
!!
プ
ル
リ
ク
で
Github-flow
PullRequest
PullRequest
master
branch-1
A
A A’
1 2
A’
3
じぶんのPC
A
master
branch-1
A’
PullRequest
PullRequestはGithubの上で、
という説明だったけど
これじゃ具体的にわからん。
PullRequest
このREADME.mdを修正するPullRequestを作成!
PullRequest
README.md の修正、
ファイルのcommit,push は割愛!
次のページは、
PullRequestを作ったところから!
PullRequest
機能説明
PullRequest
マージしてもらいたい内容を分かりやすく
機能説明
PullRequest
このPullRequestのステータスがわかる
まだマージ依頼中、作業中
マージされた
マージされなくて終了した
機能説明
PullRequest
PullRequestした内容の概要を書く
機能説明
PullRequest
コミット、コメントがログに残る
機能説明
PullRequest
マージしてもOKよ!のボタン
押したらマージされる
機能説明
PullRequest
PullRequestに対して、
コメントを残せる
機能説明
PullRequest
こっちのボタンを押したら、
PullRequestがClosedになる
※つまり、マージ依頼却下
機能説明
PullRequest
こっちのボタンは、
PullRequestにコメントを残すだけ。
機能説明
PullRequest
じゃあ、PullRequestの内容について
レビューしてみよう!
レビュワー
PullRequest
このPullRequestに含まれている
すべてのコミットを確認
レビュワー
PullRequest
変更内容ごとに確認出来る
レビュワー
PullRequest
PullRequest先のブランチとの
差分を確認出来る
レビュワー
PullRequest
ソース上を、
マウスオーバーすると
こんなのが。押して見ると… レビュワー
PullRequest
行に対してコメントを記入出来る!
レビュワー
PullRequest
もちろん

コミット単位でもコメントできる
レビュワー
PullRequest
次はこっちの変更を確認
レビュワー
PullRequest
またもやREADME.mdの修正。
レビュワー
PullRequest
コミットを一つずつ見る方法では、
最終的にどういう変更が
PullRequestされているのかわからない
レビュワー
PullRequest
PullRequest全体のファイル変更を
確認するときはこっち
レビュワー
PullRequest
このPullRequestの最終的な状態と
マージ先のファイルの差分が確認できる
レビュワー
PullRequest
コメントを書いたら、
「Conversation」を押して
最初のページへ
レビュワー
PullRequest
すると、コメントした内容を
一覧で確認できる!!
レビュワー
PullRequest
これでレビューはOK。
PullRequestを作った人に知らせて
フィードバックについて確認してもらおう!
PullRequest
※特殊な書き方をすると
チェックボックス形式にもなるよ∼
フィードバックをもらったら、
修正する内容をPullRequestに残す
コミッター
PullRequest
修正内容をすべて確認したら
再度、レビュワーへ依頼!
コミッター
PullRequest
変更を確認してOKなら
「Merge pull request」を押す!
レビュワー
PullRequest
マージが終わったら
「Delete branch」も押して、
ブランチを削除
レビュワー
PullRequest
レビュワーはコミッターに、
マージしたことを連絡して終了!
レビュワー
まとめ
GitとGithub
Github-flow
PullRequest
まとめ
GitとGithub
Github-flow
PullRequest
Gitはバージョン管理システム、

GithubはWebサービス(Gitのリモートの部分)
まとめ
GitとGithub
Github-flow
PullRequest
開発の流れをルール化したもの
GithubのPullRequestという機能を利用する
Gitはバージョン管理システム、

GithubはWebサービス(Gitのリモートの部分)
まとめ
GitとGithub
Github-flow
PullRequest
Gitはバージョン管理システム、

GithubはWebサービス(Gitのリモートの部分)
開発の流れをルール化したもの
GithubのPullRequestという機能を利用する
マージのリクエストをするもの
開発時のコメント等が時系列に残せる

More Related Content

Viewers also liked

バージョン管理のワークフロー
バージョン管理のワークフローバージョン管理のワークフロー
バージョン管理のワークフロー
add20
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
Takashi Uemura
 
GitHub入門 手順編
GitHub入門 手順編GitHub入門 手順編
GitHub入門 手順編
hideaki honda
 
SCMBC Git入門セッション発表資料
SCMBC Git入門セッション発表資料SCMBC Git入門セッション発表資料
SCMBC Git入門セッション発表資料
bleis tift
 

Viewers also liked (20)

いつやるの?Git入門
いつやるの?Git入門いつやるの?Git入門
いつやるの?Git入門
 
Git 入門
Git 入門Git 入門
Git 入門
 
はじめようGit
はじめようGitはじめようGit
はじめようGit
 
バージョン管理のワークフロー
バージョン管理のワークフローバージョン管理のワークフロー
バージョン管理のワークフロー
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
 
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
 
GitHub入門 手順編
GitHub入門 手順編GitHub入門 手順編
GitHub入門 手順編
 
Terraforming
TerraformingTerraforming
Terraforming
 
はじめてのGit #gitkyoto
はじめてのGit #gitkyotoはじめてのGit #gitkyoto
はじめてのGit #gitkyoto
 
Railsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてRailsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えて
 
git gitにされたオレの屍を超えていけ
git gitにされたオレの屍を超えていけgit gitにされたオレの屍を超えていけ
git gitにされたオレの屍を超えていけ
 
サラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFD
サラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFDサラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFD
サラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFD
 
SCMBC Git入門セッション発表資料
SCMBC Git入門セッション発表資料SCMBC Git入門セッション発表資料
SCMBC Git入門セッション発表資料
 
Wagby on Cloud Foundry
Wagby on Cloud FoundryWagby on Cloud Foundry
Wagby on Cloud Foundry
 
ゆかりん時計の話
ゆかりん時計の話ゆかりん時計の話
ゆかりん時計の話
 
後悔しないもんごもんごの使い方 〜アプリ編〜
後悔しないもんごもんごの使い方 〜アプリ編〜後悔しないもんごもんごの使い方 〜アプリ編〜
後悔しないもんごもんごの使い方 〜アプリ編〜
 
[JavaDo] JAX-RS ハンズオン 第2部
[JavaDo] JAX-RS ハンズオン 第2部[JavaDo] JAX-RS ハンズオン 第2部
[JavaDo] JAX-RS ハンズオン 第2部
 
The Case for using MongoDB in Social Game - Animal Land
The Case for using MongoDB in Social Game - Animal LandThe Case for using MongoDB in Social Game - Animal Land
The Case for using MongoDB in Social Game - Animal Land
 
Gitの使い方あれこれ
Gitの使い方あれこれGitの使い方あれこれ
Gitの使い方あれこれ
 
カラーマネジメント入門
カラーマネジメント入門カラーマネジメント入門
カラーマネジメント入門
 

Similar to 140611だいたいわかるGit

Git introduction
Git introductionGit introduction
Git introduction
totzyuta
 
20120324 git training
20120324 git training20120324 git training
20120324 git training
Takeshi AKIMA
 
Git hub pagesで告知サイトを作ってみた
Git hub pagesで告知サイトを作ってみたGit hub pagesで告知サイトを作ってみた
Git hub pagesで告知サイトを作ってみた
Soudai Sone
 

Similar to 140611だいたいわかるGit (12)

Gitの紹介
Gitの紹介Gitの紹介
Gitの紹介
 
Git introduction
Git introductionGit introduction
Git introduction
 
Git introduction
Git introductionGit introduction
Git introduction
 
Gitとちょっと仲良くなるために覚えたことまとめ
Gitとちょっと仲良くなるために覚えたことまとめGitとちょっと仲良くなるために覚えたことまとめ
Gitとちょっと仲良くなるために覚えたことまとめ
 
20120324 git training
20120324 git training20120324 git training
20120324 git training
 
WindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティスWindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティス
 
Shizudev git hub宿題
Shizudev git hub宿題Shizudev git hub宿題
Shizudev git hub宿題
 
Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)
 
Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会
Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会
Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会
 
githubでHP作ってみよ 2019/02/16 by CODE for IKOMA
githubでHP作ってみよ 2019/02/16 by CODE for IKOMAgithubでHP作ってみよ 2019/02/16 by CODE for IKOMA
githubでHP作ってみよ 2019/02/16 by CODE for IKOMA
 
Git hub pagesで告知サイトを作ってみた
Git hub pagesで告知サイトを作ってみたGit hub pagesで告知サイトを作ってみた
Git hub pagesで告知サイトを作ってみた
 
Github第4章
Github第4章Github第4章
Github第4章
 

140611だいたいわかるGit