git与eclipse集成之代码冲突与解决
生活随笔
收集整理的這篇文章主要介紹了
git与eclipse集成之代码冲突与解决
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.1. 代碼沖突與解決
目前使用git管理代碼,產生沖突的原因,主要是當多個人向特性分支提交代碼時,如果兩個人修改了同一個文件,第二個人提交代碼時就可能會沖突。
舉例說明:
- 創建遠程特性分支、遠程個人分支
遠程特性分支:br_feature_ipush
遠程個人特性分支:br_user1_ipush
遠程個人特性分支:br_user2_ipush
- 兩個用戶user1和user2修改同一個Java文件:com.security.sa.pls.simulate.Simulator
- user1先完成修改,并且已經合入特性分支br_feature_ipush(先push到個人遠端:br_user1_ipush,在提交MR請求合入br_feature_ipush)
?
- user2修改了同一個文件,已經commit或通過push提交個人遠端分支:br_user2_ipush
?
- 此時有兩個操作會導致沖突,如下所示
- 更新遠程特性分支代碼到本地分支沖突場景(即Rebase時)
用戶user2更新遠程特性分支代碼到本地,選擇工程,右鍵Team,rebase,并選擇遠程特性分支:br_feature_ipush
?
點擊Rebase按鈕,則進行代碼同步,此時會發生沖突。
- Start Merge Tool to resole conflicts解決沖突
- Skip this commit and continue rebasing the next commits
跳過當前commit記錄的沖突,以當前操作分支的修改為準,并進行下一個commit記錄的同步
- Abort rebase停止同步,取消rebase操作
- Donothing(return to the workbench)返回到工作目錄:可以選擇手動解決沖突或取消rebase操作。
?
解決完沖突,將沖突文件add to index,繼續rebase操作
?
push到遠程個人特性分支
如果出現如下這種情(解決沖突前已經push到遠程分支),此時需要用強制提交。
?
強制提交兩種方式:TortoiseGIT強制提交
?
Eclipse強制提交:選擇工程,右鍵Team,Push Branch ‘xxxx’,如下圖,并勾選強制覆蓋選項。
?
- 個人遠程特性分支合入特性分支場景(即提交Merge Request時)
?
?
轉載于:https://www.cnblogs.com/xyhero/p/9393238.html
總結
以上是生活随笔為你收集整理的git与eclipse集成之代码冲突与解决的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BZOJ5091摘苹果(概率、期望)
- 下一篇: day3