簡體   English   中英

git merge --no-commit vs git cherry-pick --no-commit

[英]git merge --no-commit vs git cherry-pick --no-commit

git merge --no-commitgit 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM