Más contenido relacionado
La actualidad más candente (14)
Más de Tomokazu Kiyohara (15)
こわくないプルリク
- 17. A B
A
1. fork
B
A B
A
6. pull
master
work
master
5. push
2. clone
3. checkout -b work
4. commit
- 29. Pull Request 後のコミット
• Pull Request の対象はブランチ
• クローズ前に追加コミットすると
• Pull Request の対象に含まれてしまう
• Pull Request 先に Notification が飛ぶ
• コードレビュー&修正反映の用途に対応するため
- 31. 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
- 36. 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
- 37. 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'
- 38. 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'
- 39. Tips : Fork 元から pull
1. git remote add upstream https://github.com/<org>/<rep>.git
2. git checkout master
3. git pull upstream master
- 40. 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'
- 41. Tips : rebase ? merge ?
• merge ではなく rebase
• 後述のコミットの集約を実現するため
• rebase 前にブランチを push していた場合
• rebase 後に push する際は -f オプションが必要
• rebase の功罪もあり merge 派もいる
• コミットの集約はしない運用
- 43. A P
A B
4. push
A
1. clone
5. merge
master
work
2. checkout -b work
3. commiiiiiiiiiiits
BBBBBBBBBBBBBBP
BBBBBBBBBBBBBBBP
PPPPPPPPPPPPPP
- 44. 大量のコミット
• Pull Request 先でのコミットログ肥大化
• 差分を確認するのが困難になる
• rebase -i で1コミットにまとめることで解決
1. git checkout work
2. git rebase -i master
3. pick, squash, squash, squash...
- 46. Tips : Pull Request Branch
• 作業用ブランチの履歴を残したい場合
• Pull Request 専用ブランチを作成する
1. git checkout work
2. git checkout -b pr-work
3. git rebase -i master
4. pick, squash, squash, squash...