2017-04-26 66 views
0

我創建了一個小功能的命名分支,現在我想合併到默認分支但不推送功能分支。Git的壁球合併Mercury等價

在git中,我可以做git merge --squash my-feature。 Mercurial中的等效物還有什麼替代物?

回答

2

Git「壁球合併」根本不是合併。它使用合併機器來複制一堆其他提交的效果和合並基礎查找機制以確定應用哪個差異,但是它只是將這些更改直接作爲新的獨立提交應用:

[email protected] <-- you-are-here 
     \ 
      Q--R--S <-- stuff-you-want-to-squash 

Git現在有效地做git diff B S | git apply -3

水銀沒有想象中的那麼,但由於這副本的提交Q-R-S的影響,並將它們作爲一個新的@提交後,您可以使用hg rebase。如果您想保留原始Q-R-S(或無論提交多少次提交)和--collapse選項以獲得壓扁效果,請參閱--keep選項。

+0

全部命令 '汞柱變基--keep --collapse -s commit_hash-of_first_commit_in_my_feature_branch -d default' 進一步閱讀:https://spin.atomicobject.com/2013/11/27/move-unpushed-changes / – Krishnaraj