2017-10-21 182 views
1

比方說,我有開發分支和FixBullshit分支和我在FixBullshit 5次提交,我一拉請求,但與FixBullshit融合發展與合併+南瓜以保持其發展爲1提交保持它更清晰(是最好的選擇,順便?)Git的合併與南瓜,但保持網絡圖

問題是,這樣做,在github上的網絡圖後,它看起來像廢話分支出去的發展,但它永遠不會合並,然後在開發中出現1次提交但與Bullshit分支沒有關係,就像它發生在我的git中 https://github.com/noxerr/VRHarry/network 分支開發和「fixSensorsinput」

我做錯了什麼?我怎麼能在網絡上創建該鏈接?

+0

我發現,GitHub的網絡圖都充滿了錯誤,而不是非常有用的。你可以做些什麼來影響他們。如果你確實找到一種方法來使它們有用,那會很有趣。 – torek

回答

2

網絡圖顯示了git回購的歷史,「擠壓」通過壓縮歷史來改變歷史。

什麼Github上做的是採取這種圖形

A--B--C--D--E 
    \ 
    F--G--H 

擠壓F--G--H到單個提交W,然後把它當成

A--B--C--D--E--W 
    \ 
    F--G--H 

做你的建議是什麼,你可以壓扁F--G--H在一起在合併之前合併爲Q以製作像

A--B--C--D--E--I 
    \  /
    Q-------- 

不幸的是,這種形式的南瓜合併會改變歷史,這會給那些帶有舊歷史本地副本的人造成問題。這可能是爲什麼Github squash合併如上所述,而不是像這樣。

互聯網上有很多頁面like this one關於壓扁,重新綁定和其他合併方法的優點和缺點。

0

不知道我是否理解你。你似乎想要壓縮你的提交,但同時保持你的開發提交。

在這種情況下,你只需要創建另一個分支壁球之前合併,並沒有檢查出來。然後你會有兩個分支。

1

如果你這樣做,那麼你就失去了分支機構的軌道,因爲這是Git的工作方式