EEclipse上GIT插件EGIT使用手冊之十_Rebase和Merge如何選擇的簡單解析
此小結為什么說是簡單解析呢,因為rebase和merge的選擇問題討論比較激烈,筆者也沒有一個定論,而且git也處于研究發展階段,很多理論還沒有完全的純熟。
對于一個多人開發團隊頻繁提交更新的情況,如果使用merge會使得歷史線圖非常復雜,并且merge一次就會新增一個記錄點,如果使用rebase就是完全的線性開發。
上圖所示是Merge和Rebase的兩個結果,顯然你不想要merge的混亂結果吧,你能告訴我merge圖中那條線是master分支嗎?
所以給出如下建議,如果同一文件反復修改或提交次數比較多,預期會出現很多的conflict,那么可以使用merge合并,僅需要解決一次沖突即 可(不過,大范圍主題式的修改,是不是應該事先就新開一個分支呢?);如果修改范圍小,預期conflict少,則建議使用rebase。
EGIT中默認的pull操作是Fetch+Merge,如果要用rebase,可以分開操作。先執行Fetch更新remote tracking,再執行rebase進行合并(下一小節將介紹rebase操作)。或者修改pull的默認操作,在.git/config文件中配置:
上述配置只對mirror分支有效,也可做全局配置,在$HOME/.gitconfig中配置,windows系統如果沒有配置HOME變量的話就默認在$documents and settings/ USER目錄下:

本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!