😲

【Git】特定のファイルへの変更のみをgit-cherry-pickする方法

2021/12/19に公開

手順

まず、分割するコミットからブランチを作成し、チェックアウトします。

$ 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コマンド使いたくて調べた結果行き着いた内容です。
この方法考えたの控えめに言って感動しました。

あったまいい〜〜〜〜って思いました。

現場からは以上です。

参考

https://stackoverflow.com/questions/5717026/how-to-git-cherry-pick-only-changes-to-certain-files
https://codehero.jp/git/5717026/how-to-git-cherry-pick-only-changes-to-certain-files

Discussion