[英]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.