開放原始碼 - github,merge後我的fork自動ahead於'主幹'1commit
怪我咯
怪我咯 2017-04-28 09:04:59
0
2
742

我從A(主幹)fork的,一段時間後我的fork behind於A,然後create pull request,然後在我的fork這裡merge,之後我的fork就會自動ahead於A 1 個commit。 。 。

有沒有人遇到跟我一樣的github問題,,,怎麼辦能自然同步於A

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回覆(2)
黄舟

只要不是fast-forward,pull之後會自動merge,而每次merge就會產生一個commit記錄。

解決方法:

  1. 假如你的repo只是晚於主幹,沒有不一樣的commit,那麼就是fast-forward。这时候先pull。這時候先pull到本地上來,跟本地的內容merge在一起。這種情況不會產生額外的commit記錄。然後再將本機程式碼push到自己的遠端repo上。

  2. 如果不滿足fast-forward条件,那么需要pull --rebase到本地,并完成rebase操作。成功后再push條件,那麼需要pull --rebase到本地,並完成rebase操作。成功後再push到遠端repo。

附: 一份關於「如何 ~~變基~~ rebase」的資料: https://github.com/edx/edx-platform/wiki/How-to-Rebase-a-Pull-Request

过去多啦不再A梦

所以你要用rebase…

如果你在自己的分支上什麼也沒乾,那麼無論是rebase還是merge之後你的分支就和A的head是一樣的,沒有多一個commit。
當然如果你自己改了什麼東西,那就怎麼也不可能完全同步了,不然你還要版本控制系統乾神馬。
但rebase和merge的差別就是,merge在這一點會創造一個新的change,rebase只是把你在這個分支上的變化歷史接在A的歷史後面,沒有新的changelog。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板