去除多餘的Merge branch提交
在項目開發中,經常會有這樣的情況發生,開發完了一個新功能,提交到遠程倉庫時,發現提交失敗(其他同事已對其做了更改),先得pull最新代碼再能提交。但這時會有一個惱人的冗餘提交(Merge branch ......),如本地添加了一個file1,同時其他同事添加了file2並先行一步提交到遠程倉庫。等我提交時得先更新代碼。這時項目提交歷史就會如下所示:
e76dfc4216d797af0f093a8121b9a586d4d33ce6 Merge branch 'master' of https://github.com/XXX/helloworld
20171e3a0ed95a6b6a920cda8d7837fff2b393db Create file2 from remote
accf96f77485502f918b56007eb39af687674755 add file1 from local
怎樣取消掉惱人的Merge branch提交呢?使提交歷史變爲簡單的:
accf96f77485502f918b56007eb39af687674755 add file1 from local
20171e3a0ed95a6b6a920cda8d7837fff2b393db Create file2 from remote
解決方法(假設使用的是master分支)只須執行如下命令
git rebase origin/master
然後執行提交(git push origin master)即可。
在我的工作中,發現如下問題:
有兩個多餘的“Merge branch ...”
運行如下命令就解決了。