際際滷

際際滷Share a Scribd company logo
こわくないプルリク
Pull Request is not afraid
2013.06.14 - kanazawa.rb #10
Github
http://github.com
Pull Request
Pull Request
なにするもの
徭蛍のコ`ドを
函りzんでもらう返Aき
こわいの
痴雌をかける
辛嬬來があるので
ちょっとびびる
こわいの
こわくはない
痴雌の嶄附を岑れば
Let's Start
ル`ル
? 蛍瓷圷が揖じブランチどうしで聞える
? 參貧
Fork は
Fork は駅ではない
むしろ匯繁でもできる
master
work
A
A
B
1. checkout -b work
2. commit
A
A
B
マ`ジして
master
work
1. checkout -b work
2. commit
A
A
B
いいよ
B
3. merge
master
work
1. checkout -b work
2. commit
Shared Repository Model
? 慌喘リポジトリで旋喘
? Collaborators
? Organizations
A
B
B
A B
4. push
A
1. clone
5. merge
master
work
2. checkout -b work
3. commit
Fork & Pull Model
? User gで旋喘
A B
A
1. fork
B
A B
A
6. pull
master
work
master
5. push
2. clone
3. checkout -b work
4. commit
Send Pull Request
Send Pull Request
Send Pull Request
Send Pull Request
Receive Pull Request
Receive Pull Request
Merge Pull Request
Merge Pull Request
まったく酒gだ
痴雌パタ`ン
痴雌パタ`ン
? Pull Request 瘁のコミット
? コンフリクト
? 寄楚のコミット
Pull Request 瘁のコミット
? Pull Request の鵑魯屮薀鵐
? クロ`ズ念に弖紗コミットすると
? Pull Request の鵑忘まれてしまう
? Pull Request 枠に Noti?cation がwぶ
? コ`ドレビュ`π渾郡啌の喘余に鬉垢襪燭
A
B
A B
4. push
A
1. clone
master
work
2. checkout -b work
3. commit
A
B
A B
4. push
A
1. clone
master
work
2. checkout -b work
3. commit
C
C
D
D
5. commit 7. commit
6. push 8. push
Pull Request 瘁のコミット
? コ`ドレビュ`朕議
? まったく}ない旋喘隈
? eC嬬の_k朕議
? }のある痴雌な旋喘隈
? eブランチで恬Iをすることで盾Q
コンフリクト
? 圷ソ`スの筝に弖惄靴討い覆い醗k伏する
? こまめな pull & rebase で盾Q
A
B
X
A B
4. push
A
1. clone
5. merge
master
work
2. checkout -b work
3. commit
commit
B
master
A
B'
X
A
6. push
1. clone
7. merge
master
work
2. checkout -b work
3. commit
B'
B'
X
4. pull
A
commit
X
5. rebase
A X
A
1. fork
B
A B
A
6. pull
master
work
master
5. push
2. clone
3. checkout -b work
4. commit
commit
B
5. rebase
master
A X
A
1. fork
B'
A X
A
8. pull
master
work
master
7. push
2. clone
3. checkout -b work
4. commit
commit
B'
X
5. pull
B'
B
5. rebase
master
A X
A
1. fork
B'
A X
A
8. pull
master
work
master
7. push
2. clone
3. checkout -b work
4. commit
commit
B'
X
5. pull
B'
Tips : Fork 圷から pull
1. git remote add upstream https://github.com/<org>/<rep>.git
2. git checkout master
3. git pull upstream master
B
5. rebase
master
A X
A
1. fork
B'
A X
A
8. pull
master
work
master
7. push
2. clone
3. checkout -b work
4. commit
commit
B'
X
5. pull
B'
Tips : rebase ? merge ?
? merge ではなく rebase
? 瘁峰のコミットの鹿sをgFするため
? rebase 念にブランチを push していた栽
? rebase 瘁に push するHは -f オプションが駅勣
? rebase の孔恟もあり merge 塗もいる
? コミットの鹿sはしない\喘
寄楚のコミット
? コミット方が寄楚にある Pull Request
? コ`ディング恬Irにかにコミットしていれば
よくある彜r
A P
A B
4. push
A
1. clone
5. merge
master
work
2. checkout -b work
3. commiiiiiiiiiiits
BBBBBBBBBBBBBBP
BBBBBBBBBBBBBBBP
PPPPPPPPPPPPPP
寄楚のコミット
? Pull Request 枠でのコミットログ景寄晒
? 餓蛍を_Jするのが是yになる
? rebase -i で1コミットにまとめることで盾Q
1. git checkout work
2. git rebase -i master
3. pick, squash, squash, squash...
A
A
5. push
A
1. clone
6. merge
master
work
3. commiiiiiiiiiiits
BP'
P'
P
P'
2. checkout -b work
4. rebase -i (squash)
Tips : Pull Request Branch
? 恬I喘ブランチの堕sを火したい栽
? Pull Request 喘ブランチを恬撹する
1. git checkout work
2. git checkout -b pr-work
3. git rebase -i master
4. pick, squash, squash, squash...
Conclusion
? Pull Request は伽くない
? C嬬阿離屮薀鵐船鵐
? こまめな pull & rebase
? コミットの鹿srebase -i
Conclusion
? Pull Request は伽くない
? C嬬阿離屮薀鵐船鵐
? こまめな pull & rebase
? コミットの鹿srebase -i
"~" のル`ルはない
┐覆砲おこるか委燐して聞えばよい
まずは徭蛍のリポジトリで
ブランチさえ俳ればすぐせる
Thank you
Tomokazu Kiyohara
http://github.com/kiyohara
http://facebook.com/tomokazu.kiyohara
Extra
? http://blog.qnyp.com/2013/05/28/pull-request-for-github-beginners/
? http://kik.xii.jp/archives/179
? http://d.hatena.ne.jp/hnw/20110528

More Related Content

こわくないプルリク