[英]Why doesn't `git cherry-pick` (without `--no-commit`) run my post-commit hook?
[英]git merge --no-commit vs git cherry-pick --no-commit
git merge --no-commit
和git cherry-pick --no-commit
之间有什么区别吗?
如果我遵循这两个命令后,历史上有什么不同吗?
如果你在git merge --no-commit
commit之后git merge --no-commit
,你实际上会得到一个合并提交。 然后在git cherry-pick --no-commit
你会得到一个单亲的提交。
因此,是的,这两个命令之间存在差异。
特别是如果你有类似的东西
A -- B -- C
\ L HEAD
\
-- D -- E
如果您cherry-pick
提交E
,则不会修改提交D
如果你merge
,你会得到两者。
虽然git-merge用于将两个或多个开发历史记录连接在一起,但git-cherry-pick用于应用某些现有提交引入的更改。
那么,一旦你执行git-merge后提交,Git将添加所谓的合并提交 。 另一方面,当cherry-pick(ing)提交时,git会将这些提交引入的更改应用到工作树的顶部(两个或多个分支之间没有融合)。 换句话说,Commits被克隆并放在你的分支之上。
看看Git Cherry-pick vs Merge Workflow ,根据repo维护者的实际需求来解决差异。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.