首页 > 其他分享 >git冲突解决

git冲突解决

时间:2022-10-24 21:23:22浏览次数:75  
标签:git 代码 dev master 冲突 解决 分支

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

标签:git,代码,dev,master,冲突,解决,分支
From: https://www.cnblogs.com/wugh8726254/p/16823037.html

相关文章

  • git常用命令
    1、初始化仓库1.1、Git全局设置gitconfig--globaluser.name"wanghx"gitconfig--globaluser.email"[email protected]"1.2、创建git仓库mkdirTjHisNet6Apic......
  • git rebase
    首先通过简单的提交节点图解感受一下rebase在干什么?提交节点图解两个分支master和feature,其中feature是在提交点B处从master上拉出的分支,master上有一个新提交M,featu......
  • vr虚拟现实样板间解决了商客双方痛点难题-深圳华锐视点
    国内租房、买房交易量均已出现了数据大幅度下滑的情况。目前线下看房已经成为普遍难题:开发商、中介及设计师获取不到客户,客户选房难、现场看房难。虚拟样板房全景看房......
  • 解决log4jWARN No appenders could be found for logger (druid.sql.Connection) 警告
    解决og4j:WARNNoappenderscouldbefoundforlogger(druid.sql.Connection)警告的问题这个问题可以解决也可以不解决,因为不影响程序的使用,只是个告警,看着不太好看而......
  • 因为使用的是ip v6方案,导致Whatsapp筛号软件刷新不出解决方法
    一般Windows10系统是支持IPV6协议,有些用户连接的网络是IPV4协议,对于我们个人来说,这个几乎是用不到IPV6。而且开启IPV6协议会造成开机卡慢、未响应的假死现象。有什么好办法......
  • Git常用命令总结
    1、(先进入项目文件夹)通过命令gitinit把这个目录变成git可以管理的仓库gitinit2、把文件添加到版本库中,使用命令gitadd.添加到暂存区里面去,不要忘记后面的小数点“.”......
  • Spring常见问题解决办法汇总
     解决Theprefix'context'forelement'context:component-scan'isnotbound<beansxmlns="http://www.springframework.org/schema/beans"   xmlns:xsi="http://w......
  • git hooks & ESLint All In One
    githooks&ESLintAllInOnegithookshttps://git-scm.com/book/en/v2/Customizing-Git-Git-Hookshttps://git-scm.com/docs/githooksESLinthuskyGithook......
  • Jenkins把GitHub项目做成Docker镜像
    欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos本篇概览本文是《Jenkins流水线(pipeline)实战》系列的第三篇,......
  • 解决selenium+python 打开浏览器报错 DeprecationWarning executable_path has been d
    报错如下:解决方案:直接上代码如下:#-*-coding:utf-8-*-"""@Time:2022/10/2416:03@Auth:软件测试君@File:wait_demo.py@IDE:PyCharm@Motto:ABC(AlwaysBeCod......