Is there any difference between git merge --no-commit
and git cherry-pick --no-commit
?
And is there any difference in history if I commit after these two commands?
If you commit after git merge --no-commit
, you'll actually get a merge commit. Whereas after a git cherry-pick --no-commit
you'll get a commit with a single parent.
Hence, yes, there is a difference between those two commands.
In particular if you have something like
A -- B -- C
\ L HEAD
\
-- D -- E
If you cherry-pick
commit E
, you won't get modifications of commit D
. Whereas if you merge
, you'll get both.