首页 > 编程知识 正文

git解决冲突与merge,tortoisegit解决冲突

时间:2023-05-05 05:08:00 阅读:237392 作者:1029

一、当发生以下三种情况时,git会自动进行合并

1.修改不同的文件

2.修改相同文件的不同区域

3.同时更改文件名和文件内容

二、逻辑冲突

自动合并成功执行后,并不一定意味着万事大吉,在某些特殊情况下,确存在者逻辑冲突。

假如一个用户修改了函数返回值,但是,另外一个用户仍然使用旧的返回值,虽然成功合并冲突却存在着逻辑冲突

三、解决冲突

如果两个用户修改了同一个文件的相同部分的内容,在合并时就会遇到冲突导致合并过程中断。这就需要手动解决冲突。

假如user1对readme,txt的修改如下


并进行了git add readme.txt

              git commit -m 'slow'

               git push

将修改过的内容提交到了远程版本库

user2对readme的修改如下


进行本地提交

git add readme.txt

git commit -m 'slowly'

在执行拉回操作时(git pull = git fetch+git merge )遇到了冲突


可以使用cat readme.txt查看文件内容


可以看到在小于号后面为USer2编辑的内容,大于号后面为user1编辑的内容,等于号用来分割不同的冲突内容

也可以从git status中看到readme.txt处于未合并冲突的状态


这时,工作区处于冲突状态,无法在进行提交操作。解决办法有两个,一是使用git reset放弃合并操作,二是打开冲突的文件,进行手工编辑解决冲突的部分,之后再进行提交。


版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。