「特定のファイルに触れるコミットのみを別のブランチからチェリーピックする」ように要求する簡潔な方法は何ですか? つまり、このコマンドgit log ..other-branch afile
は、「afile」に関係する other-branch 内のマージされていないコミットのリストを表示します。この同じ一連のコミットを現在のブランチで再生するように要求するにはどうすればよいですか?
1 に答える
5
git cherry-pick $(git log --reverse --pretty=format:"%H" filename)
トリックを行う必要があります。基本的に、コミットが正しい順序でマージされるように、逆の順序git log --reverse --pretty=format:"%H" filename
で変更されたすべてのコミットのSHAの改行区切りリストを提供します。filename
次に、リストを git cherry-pick にフィードします。
git cherry-pick $(git rev-list --reverse HEAD -- filename)
Magnus Bäck によって提供された上記のコマンドの別のバージョンです。
于 2014-02-10T19:28:37.147 に答える