IDEA中Git冲突的产生及解决方法

1.1 冲突产生的原因

冲突产生的根本原因是:两个人修改了同一个文件的同一块区域,在前者已经提交代码到远程仓库的情况下,后者修改代码前没有使用pull命令更新代码,而是修改完代码后再使用pull命令,这时就会产生冲突。这也是最常见的冲突,下面介绍解决冲突的办法也主要针对这种冲突。

1.2 预防冲突的发生

在修改代码前,使用pull命令更新代码,能够保证在开始修改代码前本地的代码与远程仓库中的版本一致,这样能够大大降低冲突发生的概率,如下图所示。


1.3 冲突的解决

1、只有冲突文件

当使用pull命令或者push命令被拒绝(如图1所示)merge分支后,要提交的文件出现如图2所示情况则是发生了冲突,并弹出如图3所示的窗口,双击冲突文件,出现如图4所示窗口,在该窗口中可以选择最终要使用的代码。

 

图1 push被拒绝

 

图2 产生冲突

 

图3 产生冲突时的弹窗

在该窗口中可以通过点击>><<或者下面的按钮选择最终要使用的代码。

图11 Merge Revisions窗口

确定最终使用的代码后,如果使用的是本地的代码,可以直接push到远程仓库,否则需要commit到本地仓库,然后提交到远程仓库。

2、有冲突文件,也有未更新的文件

如下图所示为有冲突文件也有未更新文件的情况,test.jsp为出现冲突的文件(红色字体),index.jsp为修改代码前未更新的文件(蓝色字体),并且使用pull或者merge命令后没有出现冲突。


此时工程中index.jsp文件与远程仓库中的版本一致,但是与本地仓库中的版本不一致,因此需要将index.jsp和修改后的test.jsp文件commit到本地仓库中,然后只需要将test.jsp文件push到远程仓库即可,如下图所示,只有test.jsp需要提交到远程仓库。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值