👻
[git応用]cherry-pics🍒・インタラクティブrebase
どんな時につかう?[自分用]
アジャイル開発を行っていて例えばリリースが8月のものと12月のものがあって、branchをそれぞれで切って開発を進めてます~って時に、急に12月の範囲のものを8月にぶちこみます🙃ってなったときにさくらんぼを摘むみたいに12月のところからコミットをとってきて、8月のブランチにぶちこみます~~~みたいなときに使う
git checkout main (移動してない場合は)
git cherry-pick c2 c4
// copyしたいブランチを空白開けて一気に指定してコピーできる。
インタラクティブrebase
インタラクティブrebaseとは単にrebase
コマンドに-i
オプションを合わせて使うこと🥺
このオプションがつくとrebase概要を一目で見れる。
git rebase -i HEAD~4
って押すとrebaseウィンドウが出現!
omit
とpick
が出てきて、pick押した奴は省かれてomitのやつだけコピーが作成される。
あとはrebaseなのでHEADもコピー側にかわった!
補足
HEAD~〇がよくわかんない。
〇にはもちろん数字が入る。その数字は今HEADがある場所から何個上に行くかの数字を書く。
これの場合は、今c5(コミット5)にHEAD(*)がある。
もしOver Hereの場所からコピーを作成したいなぁっておもうなら、コミット2~5を選択したい!
その場合はコミット5を含んで4つ上がコミット2だからHEAD~4
とかく!!!
git rebase -i HEAD~4
// -iオプションをつけたのでウィンドウが開いて、今回はc3~c5をコピーしたいからc2だけpickする。
// ついでにコピーの順番も変えたいのでウィンドウ上で順番もかえた。
結果は~~~~
大苦戦🥺🥺🥺💦
Discussion