天天看点

使用小乌龟TortoiseGit快速解决代码冲突问题

最近在做项目时,本地comit完代码后,从远程库拉取代码后,发现出现很多冲突,有点慌不知如何快速解决,一个个改效率太低,小乌龟这个之前看过一点点,但没有在实际项目中用过,这次用小乌龟快速解决了这个问题.

小乌龟下载地址

场景:

在公司做项目时,多个同事可能会同时修改了同一文件的同一行的代码,其中一个已提交了代码,但你又在本地修改了,拉取代码时势必会造成冲突,如果少量冲突,手动改一下还好,但是出现大量冲突,势必要借助一些工具,提高工作效率.

案例:

首先,我直接在远程代码仓库直接添加测试代码,模拟同事已commit了代码.

使用小乌龟TortoiseGit快速解决代码冲突问题

然后在本地,同一文件的同一位置,添加代码,这时提交代码,拉取代码后,会发现:

使用小乌龟TortoiseGit快速解决代码冲突问题
使用小乌龟TortoiseGit快速解决代码冲突问题

打开当前项目所在位置:

鼠标右击---->TortoiseGit -->Reslove 

使用小乌龟TortoiseGit快速解决代码冲突问题
使用小乌龟TortoiseGit快速解决代码冲突问题

双击冲突文件:打开解决冲突的窗口

使用小乌龟TortoiseGit快速解决代码冲突问题

左边文件为:远程仓库的文件,右边为本地文件(也就是你当前修改的文件)

下边的文件是你合并操作后的文件,所以你要对比左右文件的差异:

比较常见的情况是:

1.你对已有的代码进行了改动,也会造成冲突(应该以你修改的为准)

2.别的同事推送的代码.和你添加的代码的位置冲突了(都要保留)

下面就解决冲突:

使用小乌龟TortoiseGit快速解决代码冲突问题

 在合并处,鼠标右击:

使用小乌龟TortoiseGit快速解决代码冲突问题

1.Use text block from left:使用远程库的代码

2.Use text block from right:使用本地的代码

3.Use text block from right before left:

远程库和本地文件的代码都保留,且本地库的代码放在上面,远程库的代码放在下面

Use text block from left before right:

远程库和本地文件的代码都保留,且本地库的代码放在下面,远程库的代码放在上面

合并后的代码:

使用小乌龟TortoiseGit快速解决代码冲突问题

 最后,点击Mark as resolved 和Save按钮即可(如果冲突比较多,就点击Next difference一个个排查解决冲突即可)

使用小乌龟TortoiseGit快速解决代码冲突问题

还有虽然解决了,冲突,但是git命令行还是处于master/merging状态,这又该如何解决?

几个命令就解决了 

使用小乌龟TortoiseGit快速解决代码冲突问题

最后,再将合并后的代码push到远程仓库:

还是习惯性先拉取一下代码 

使用小乌龟TortoiseGit快速解决代码冲突问题

继续阅读