我使用squash merge將一個develop分支合并到main分支。假設有提交A、B、C從develop合并到main。這些變化被成功地合并了。我可以在main分支上看到壓扁的提交,檔案也被更新了。
之后,我從develop創建了一個新的分支(b-new)并將其合并到develop。然而,當我試圖將main與develop再次同步時,我仍然可以看到舊的差異(提交A、B、C)。如何解決這個問題?
- PR #1:將
develop中的提交A、B、C合并到main。
- PR #2: 將
b-new合并到develop中。
- PR #3:再次將
develop合并到main中(我看到了舊的區別,現在被卡住了) - 我不能在沒有1個批準的情況下直接將修改推送到main 。
- 這些更改不會影響到其他人,所以不需要擔心。
謝謝你。
uj5u.com熱心網友回復:
這種情況,即你有兩個長期運行的分支并使用擠壓式合并,在Git FAQ中有一些詳細的描述。 大致上,答案是,如果你在兩個長壽的分支上使用擠壓式合并,你注定要承受巨大的痛苦,并且沒有辦法避免它。
如果 develop 旨在成為一個特性分支,那么為了避免看到這些提交,您應該每次都從 main 上重新創建它,要么先洗掉它,要么使用 git checkout -B develop main。 如果develop打算和main一起成為一個長期運行的分支,那么你需要不使用壓扁合并。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/325028.html
標籤:
