Open4

gitの何度も調べてしまうコマンド

yukokoyukoko
git cherry-pick <commit ID>
  • 指定したコミットの変更を現在のブランチに新しいコミットとして適用する
  • 他のブランチで行われた特定の変更を現在のブランチに持ってくることができる
git cherry-pick -n <commit ID>
  • -n オプションは --no-commit の略
  • つまり、指定したコミットの変更はステージングエリアに追加されるが、新しいコミットは作成されない
  • 変更を手動で確認や修正をした後に、コミットできる
git cherry-pick -m <parent-number> <merge commit ID>
  • -m オプションは--mainlineの略

  • マージコミットを対象とする際に使用

  • <parent-number>で、どの親コミットとの差分を現在のブランチに適用するかを指定

  • -m 1 <マージコミットID>: 1番目の親(通常はマージ元となるブランチ)との差分を取る

  • -m 2 <マージコミットID>: 2番目の親(通常はマージ先となるブランチ)との差分を取る

  • (例)feature ブランチを main ブランチにマージした場合

    • -m 1 : feature ブランチにあって main ブランチにない変更を適用
    • -m 2 : main ブランチにあって feature ブランチにない変更を適用(あんまりないケース)

https://git-scm.com/docs/git-cherry-pick

yukokoyukoko

リモートでマージ済みのブランチをローカルで一括削除するエイリアス

brd = !git fetch --prune && git branch --merged | grep -v 'main' | xargs git branch -d