git冲突解决,使用git命令解决冲突【通用版】
 2021-07-14 17:29:32     小道仙     63阅读     0评论

 

Table of Contents

从接触git到现在大概有三年之久了,也使用它工作一年之久,但直到写这篇文章之前,依旧对它的冲突很恐惧。

 

而现在只能算是说麻烦,不能算是说恐惧了,下面就把我目前对git冲突解决经验传授给大家。

一、准备

这里主要是讲怎么解决冲突,所以对于其它的尽量能少则少。

使用gitee创建一个项目,项目初始有一个README.MD和两个分支devmaster

1-1、dev分支里面的README

TEST- dev

1-2、master分支里面的README

TEST- master

1-3、说明

两个分支同一个文件里面的代码不一样,如果合并就会冲突。

现在我们就来合并分支 dev > master

二、冲突

2-1、合并结果

image.png

此 Pull Request 无法自动合并,你应该手动合并它

注:实际我们多用的是gitlab,上面的英文翻译一下大意也是如此。

解决冲突的步骤:

  1. 把两个分支的代码都拉到你本地
  2. 手动去把代码整合一下
  3. 提交你的本地代码

2-2、解决冲突一(有master分支操作权限)

如果你有master分支的权限,你可以使用这个办法。

一般冲突后会提示你解决的办法,也是此办法。

2-2-1、更新远程分支

这一步一般不做,大部分这两个分支本地都有,但是可能出现没有的情况,所以运行一下也没什么关系。

git fetch

2-2-2、切换master分支、并拉取master分支代码

git checkout master git pull origin master

2-2-3、拉取dev分支代码(当前分支是master)

git pull origin dev

2-2-4、解决冲突

这个时候你的本地代码会如下:

image.png

我们按照正确的代码格式,把本地代码整理成如下

image.png

2-2-5、提交代码

# 添加全部的文件,这里为了演示方便,你可以添加具体的文件 git add . # 提交代码到本地仓库 git commit -m '解决冲突' # 提交代码到线上仓库 git push origin master

提交到线上后,我们的那个分支合并,也会自动合并好了。

2-3、解决冲突二(无master分支权限)

  • 实际开发中我们很可能没有这个分支的提交权限,我们只能拉取代码。

使用上面的方式再来重新制造一个冲突。

image.png

其实原理是一样的,之前我们是在master分支上解决冲突,现在我们在dev分支上去解决冲突。

2-3-1、更新远程分支

这一步一般不做,大部分这两个分支本地都有,但是可能出现没有的情况,所以运行一下也没什么关系。

git fetch

2-3-2、切换dev分支、并拉取dev分支代码

git checkout dev git pull origin dev

2-3-3、拉取master分支代码(当前是dev分支)

git pull origin master

2-3-4、解决冲突

如上面一样,按照自己正确的代码进行调整

2-3-5、提交代码

# 添加全部的文件,这里为了演示方便,你可以添加具体的文件 git add . # 提交代码到本地仓库 git commit -m '解决冲突' # 提交代码到线上仓库 git push origin dev

这时候合并请求便会如下:

image.png

这个意思是现在已经没有冲突了,但是你没权限合并,找有权限的人给你合并。

三、其它

  • 这里的dev分支代表你的开发分支,master分支标识要合并的分支
  • 我这里使用的gitee提示都是中文的,如果你使用gitlab提示是英文的,大意都是一样的
  • 如果你没有合并权限的时候可能会出现合并冲突没有需要合并的找有权限的人给你合并,记得翻译一下英文,不然可能闹出笑话。
  • 如果你明白了上面的含义,实际上遇到冲突了只可能是冲突文件比较复杂会难得处理,但不会手足无措。
  • 我这里为了通用性都是使用的git命令,实际开发大家可以结合具体的软件(IDEAVSCODE)可能会更简单。

 
转载:https://www.xdx97.com/article/864921573172183040

原文地址:http://www.cnblogs.com/wugh8726254/p/16823037.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性