详解git合并冲突解决方法

 更新时间:2020年07月24日 11:38:13   作者:ZhangRuoxu  
这篇文章主要介绍了详解git合并冲突解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1、git merge冲突了,根据提示找到冲突的文件,解决冲突

如果文件有冲突,那么会有类似的标记

2、修改完之后,执行git add 冲突文件名

3、git commit

注意:没有-m选项

进去类似于vim的操作界面,把conflict相关的行删除掉

4、直接push就可以了,因为刚刚已经执行过相关merge操作了

相关的操作如下

冲突产生

[root@Monitor Demo]# git branch #当前在master分支下
* master
 psr/psr-01
 psr/psr-02
[root@Monitor Demo]# git checkout psr/psr-02 #切换到psr/psr-02分支下
Switched to branch 'psr/psr-02'
[root@Monitor Demo]# git branch
 master
 psr/psr-01
* psr/psr-02
[root@Monitor Demo]# ls
LICENSE new_remote_branch.txt psr_psr-02.txt README.md
[root@Monitor Demo]# vim psr_psr-02.txt #修改psr/psr-02分支上的文件
[root@Monitor Demo]# git add psr_psr-02.txt
[root@Monitor Demo]# git commit -m 'psr_psr-02.txt has changed on psr/psr-02 branch' #提交到暂存区
[psr/psr-02 62ca72c] psr_psr-02.txt has changed on psr/psr-02 branch
 1 files changed, 6 insertions(+), 0 deletions(-)
[root@Monitor Demo]# git checkout master #切换到master分支下
Switched to branch 'master'
[root@Monitor Demo]# vim psr_psr-02.txt #在master分支下也对psr_psr-02.txt进行修改
[root@Monitor Demo]# git add psr_psr-02.txt
[root@Monitor Demo]# git commit -m 'changed this file on master branch'
[master 282fbeb] changed this file on master branch
 1 files changed, 2 insertions(+), 0 deletions(-)
[root@Monitor Demo]# git merge psr/psr-02 #把psr/psr-02分支合并到当前分支,这时提示冲突了
Auto-merging psr_psr-02.txt
CONFLICT (content): Merge conflict in psr_psr-02.txt
Automatic merge failed; fix conflicts and then commit the result.

冲突解决过程

冲突文件的格式基本如下
<<<<<<<到=======是在当前分支合并之前的文件内容
=======到>>>>>>> psr/psr-02是在其它分支下修改的内容
需要在这个两个版本中选择一个,然后把标记符号也要一起删除
<<<<<<< HEAD

add some lines on master branch

add some lines on psr/psr-01 branch

2016年12月13日14:43:34 changed after psr/psr-02
=======
1
2
3
4
5
>>>>>>> psr/psr-02

冲突文件

vim psr_psr-02.txt

<<<<<<< HEAD
add some lines on master branch

add some lines on psr/psr-01 branch

2016年12月13日14:43:34 changed after psr/psr-02
=======
1
2
3
4
5
>>>>>>> psr/psr-02

修改冲突文件

# vim psr_psr-02.txt
README.md

I'am in new branch psr/psr-02 based on psr/psr-01

add some lines on master branch

add some lines on psr/psr-01 branch

2016年12月13日14:43:34 changed after psr/psr-02

添加冲突的文件,然后就可以直接push了

Merge branch 'psr/psr-02'

Conflicts:
  psr_psr-02.txt
#
# It looks like you may be committing a MERGE.
# If this is not correct, please remove the file
#  .git/MERGE_HEAD
# and try again.
#

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#

需要删掉下面这两行

Conflicts:
  psr_psr-02.txt

执行git push 操作

git push origin master

到此这篇关于详解git合并冲突解决方法的文章就介绍到这了,更多相关git合并冲突内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • VSCode如何巧用正则表达式快速处理字符段

    VSCode如何巧用正则表达式快速处理字符段

    正则真的好用,平时工作用正则最多的地方就是在编辑器里做查找替换,下面这篇文章主要给大家介绍了关于VSCode如何巧用正则表达式快速处理字符段的相关资料,需要的朋友可以参考下
    2022-11-11
  • 详解VScode 配置为 LaTeX 编辑器(IDE)

    详解VScode 配置为 LaTeX 编辑器(IDE)

    这篇文章主要介绍了详解VScode 配置为 LaTeX 编辑器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • 奇怪的回车换行问题

    奇怪的回车换行问题

    一直对回车换行问题没有怎么注意,只知道,在windows中,回车换行是\r\n (0x0D,0x0A)。
    2011-11-11
  • 使用Postman和SoapUI工具测试WebService接口

    使用Postman和SoapUI工具测试WebService接口

    这篇文章介绍了使用Postman和SoapUI工具测试WebService接口的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • IIS 301重定向与程序代码实现301重定向的差别

    IIS 301重定向与程序代码实现301重定向的差别

    过IIS做301重定向确可以实现传递网站的权重,还不会导致流量丢失。
    2010-11-11
  • 深入剖析从输入URL到页面显示过程原理

    深入剖析从输入URL到页面显示过程原理

    这篇文章主要为大家深入剖析了从输入URL到页面显示这中间发生的过程原理,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 怎样写commit log记录及如何提交有哪些约定

    怎样写commit log记录及如何提交有哪些约定

    这篇文章主要为大家介绍了怎样写commit log记录以及及如何提交有哪些约定,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • 关于指令重排现象的两个阶段详解

    关于指令重排现象的两个阶段详解

    这个知识点也是很多人说不清道不明的地方,感觉都知道,说又说不出来。为什么会这样呢?因为这几个字,很容易被当成动词去理解,其实正确的理解是当成名词,即指令重排现象
    2022-01-01
  • 如何在网页中显示服务器时间

    如何在网页中显示服务器时间

    在网页上显示时间,如果取的是用户本机的时间,由于用户的时间往往不准确,所以显示的有问题。而服务器时间一般不会误差太大,所以最好显示服务器时间
    2013-03-03
  • git clone如何解决Permission Denied(publickey)问题

    git clone如何解决Permission Denied(publickey)问题

    文章介绍了如何解决Git clone时遇到的PermissionDenied(publickey)问题,包括检查SSH key是否存在、生成新的SSH key、将SSH key添加到ssh-agent以及将SSH key添加到GitHub账号,最后通过git clone下载代码
    2024-11-11

最新评论