😲
【Git】特定のファイルへの変更のみをgit-cherry-pickする方法
手順
まず、分割するコミットからブランチを作成し、チェックアウトします。
$ git checkout COMMIT-TO-SPLIT-SHA -b temp
次に、前のコミットを元に戻します。
$ git reset HEAD~1
次に、チェリーピックするファイル/変更を追加します。
$ git add FILE
そしてそれをコミットします:
$ git commit -m "pick me"
コミットハッシュに注意して、それをPICK-SHAと呼び、メインブランチに戻ります。たとえば、チェックアウトを強制します。
$ git checkout -f master
コミットをチェリーピックします。
$ git cherry-pick PICK-SHA
これで、一時ブランチを削除できます。
$ git branch -d temp -f
気づいたこと
手作業でも良かったんですが、イキってgitコマンド使いたくて調べた結果行き着いた内容です。
この方法考えたの控えめに言って感動しました。
あったまいい〜〜〜〜って思いました。
現場からは以上です。
参考
Discussion