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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值