What is a concise way to request "cherry pick from another branch only the commits that touch a particular file"? i.e. the command git log ..other-branch afile
gives a list of unmerged commits in other-branch that touch "afile"; how can I request that this same set of commits be replayed on the current branch?
git cherry-pick $(git log --reverse --pretty=format:"%H" filename)
Should do the trick. git log --reverse --pretty=format:"%H" filename
basically gives you a newline separated list of SHA's of all commits that modified filename
in reverse order so the commits merge in the correct order. We then feed the list to git cherry-pick.
git cherry-pick $(git rev-list --reverse HEAD -- filename)
is another version of the above command provided by Magnus Bäck.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With