首页 > 其他分享 >git冲突出现的原因及解决方案

git冲突出现的原因及解决方案

时间:2022-11-09 10:00:27浏览次数:34  
标签:pull git 文件 解决方案 pom 冲突 分支

git冲突出现的原因及解决方案_xml

简单来说就是本地修改的文件和目标远程库的同一个文件都有修改。这时无论是pull丶push丶merge时都会产生冲突。

Git冲突情况举例:

1、不同分支下的merge

比如在不同分支下进行分支合并时,我们在本地修改了a文件并把a文件的修改push到了test分支下,接着我们切换到master分支下将test分支上的修改合并到当前master分支下时,如果master分支下的a文件也有修改的话,这时在进行merge也会产生冲突。(因为这个两个分支是不同步的,两个分支下的同一个文件都有修改)

2、同一个分支下的pull或push

比如在同一个分支下,对本地的a文件做出了修改,此时我们在进行pull或push时如果远程分支下下的a文件也有修改,那么代表本地和远程分支的代码是不同步的,此时也会引起冲突。

Git冲突解决方案:

要想不产生冲突的习惯是:修改文件之前先git pull,获取远程最新的代码,同步完了之后再对代码进行修改;亦或者事先和同时操作代码的同事沟通,这样可以大概率的避免冲突的产生。

方法一(推荐使用):

git pull 出现冲突后丢弃本地冲突文件修改,采用远程文件覆盖本地文件
git checkout  [文件路径]
例:git checkout test/src/main/resources/spring-shiro.xml  

方法二:

git pull 出现冲突后可以暂存本地修改git stash ,然后git pull 更新代码,git stash list 可查看暂存记录列表,释放本地暂存 git stash apply stash@{0} ,出现冲突文件,找到并解决,然后可以提交git add . 加入索引库,然后本地提交git commit -m '注释' 最后git push到远程。

方法三:

1、git pull
更新代码,发现
error: Your local changes to the following files would be overwritten by merge:pom.xml
Please commit your changes or stash them before you merge.
这说明你的pom.xml与远程有冲突,你需要先提交本地的修改然后更新。

2、git add pom.xml

git commit -m '冲突解决'

提交本地的pom.xml文件,不进行推送远程

3、git pull

更新代码
Auto-merging pom.xml
CONFLICT (content): Merge conflict in pom.xml
Automatic merge failed; fix conflicts and then commit the result.
更新后你的本地分支上会出现 (develop|MERGING)类似这种标志。

4、找到你本地的pom.xml文件,并打开
你会在文件中发现<<<<<<< HEAD ,=======  ,>>>>>>> ae9a0f6b7e42fda2ce9b14a21a7a03cfc5344d61
这种标记。

<<<<<<< HEAD和=======中间的是你自己的代码,  =======  和>>>>>>>中间的是其他人修改的代码
自己确定保留那一部分代码,最后删除<<<<<<< HEAD ,=======  ,>>>>>>>这种标志。

5、git add pom.xml
git commit -m '冲突解决结束'
再次将本地的pom.xml文件提交。

6、git push
将解决冲突后的文件推送到远程。


学习更多技能

请点击下方公众号


git冲突出现的原因及解决方案_xml_02

git冲突出现的原因及解决方案_xml_03

标签:pull,git,文件,解决方案,pom,冲突,分支
From: https://blog.51cto.com/u_15809510/5835344

相关文章

  • win10系统下鼠标点击任务栏,导致托盘输入法图标(qq拼音、搜狗拼音)闪动的解决方案
    之前找了很多解决方案,可能是场景不一样,一直没解决。后来偶然间发现一种很简单的处理方式。有类似情况的可以试试。问题场景还原   如上图可见,鼠标切换到任......
  • Digit Dp
    数位dp总结值域巨大的题目,考虑分治、矩乘、数位dp和规律。数位dp通常需要将对数的描述转化成对每个数位的描述,从而按位dp,尤其是等式。关于不等式的刻画,通......
  • 【luffy】前台全局样式、后台主页模块接口、跨域问题、自定义配置、git介绍和安装
    目录1.前台全局样式和js配置1.1bodydiv默认样式,统一去掉1.2全局配置2.后台主页模块接口2.1根据原型图分析出来2.2软件开发模式2.3轮播图表2.4轮播图接口编写3.......
  • 码云GitHub Fork代码仓和提交PR代码
    码云/GitHubFork代码仓并提交PR代码背景:在企业开发过程中,都会有自己的代码仓管理,一般会有一个上游代码仓,然后自己fork下该项目,提交到自己下面的项目,并提交PR(或MR)进行合......
  • 使用pycharm操作git
    1.大前提:先在settings里面把git配上打开Pycharm, 点击File->Settings->VersionControl-->Git,在PathtoGitexecutable中选择本地的git.exe路径:   2.......
  • Vue 项目优化解决方案 有哪些 ?
    1.打包的时候,通过插件把css代码单独抽离出来使用link引入 2.打包的时候,通过webpack内置插件optimization 把公共的js代码抽离出来 ps:打包之后,代码冗余,......
  • 【2022-11-08】Git使用
    一、Git介绍#Git简介Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很......
  • Git
    git的介绍、git的功能特性、git工作流程、git过滤文件、git多分支管理、远程仓库、把路飞项目传到远程仓库(非空的)、ssh链接远程仓库,协同开发......
  • git的介绍、git的功能特性、git工作流程、git 过滤文件、git多分支管理、远程仓库、把
    Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。[1]也是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开......
  • idea集成git
    一、配置忽略文件1) 创建忽略规则文件xxxx.ignore(前缀名随便起,建议是 git.ignore)这个文件的存放位置原则上在哪里都可以,为了便于让~/.gitconfig 文件引用,建议也放在用......