GIT 合并的冲突解决途径

作者: Leon_Geo | 来源:发表于2017-09-10 11:16 被阅读27次

大多数情况下,合并的命令为:

git merge <commit>

commit:提交ID或代表他的引用(分支,标签,哈希值等)。

合并操作将<commit>对应的目录树和当前工作区目录树的内容进行合并,并生成一个新的提交,并以当前分支的提交作为第一父提交,<commit>作为第二父提交。同时该操作支持对多个<commit>和当前提交进行合并。

默认,合并成功后会自动对暂存区进行提交但也可以通过加入选项[--no-commit]使合并后的结果不自动提交,用户可以git ls-files 查看暂存区里合并后的结果,再手动提交。

当然,合并并非总是成功的。当要合并的两个提交对同一文件的同一区域同时进行了更改的话,提交就会失败。

我们可以通过查看暂存区git ls-files ,发现会有3个冲突文件,并分别标注有数字1、2、3。1代表冲突文件的原始版本,可用

$ git show :1:filename 查看内容;

2代表冲突文件的本地分支版本,可用

$ git show :2:filename 查看内容;

3代表冲突文件的被合并分支的版本,可用

$ git show :3:filename 查看内容;

我们有两种方法解决冲突:

1.手动编辑冲突文件。

step 1: 在工作区手动编辑冲突文件。打开文件后会发现git 已经通过

<<<<<<<  HEAD

本地分支内容

=======

外地分支内容 

>>>>>>>  哈希值

标注了文件中发生冲突的地方,你只要选择一个内容或改变他们,按你所想编辑完文件就好。

step 2: git add filename

step 3: git commit

2.通过git mergetool 命令图形化编辑以解决了冲突后再进行合并。

相关文章

  • (二)

    转自:Android Studio、Git 解决合并冲突Android Studio、Git 解决合并冲突Andr...

  • (4.2) git分支管理-解决冲突

    小结 当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。 解决冲突就是把Git合并失败...

  • GIT 合并的冲突解决途径

    大多数情况下,合并的命令为: git merge commit:提交ID或代表他的引用(分支,标...

  • Git回滚本地合并master(有冲突情况)

    1.git 合并master到本分支发现有冲突,并且不想解决冲突,撤回合并 git reset --hard

  • Git 篇

    1、合并分支 git rebase XX , 然后解决冲突 ,再 git add -A , 再git rebas...

  • git/svn/gradle配置签名文件/Android性能优化

    一.git、svn1)冲突怎么解决? 答:在开发的时候,冲突一般分为两种,上传冲突 与 合并冲突, 合并冲突的解...

  • Git高级合并

    高级合并 我们在遇到冲突时的分支合并介绍了解决合并冲突的一些基础知识, 对于更复杂的冲突,Git 提供了几个工具来...

  • Git合并 - 冲突解决

    造成冲突的原因是:两个分支在同一个文件的同一个地方做出了不同的修改 解决方案:在git merge <要合并的分支...

  • git强制合并分支

    git A分支合并B分支,并强制使用B分支代码(不手动解决冲突) git A分支合并B分支,并强制使用A分支代...

  • Git分支合并及冲突解决

    分支合并 $ git checkout 分支名A $ git merge 分支名B 产生合并冲突 查看冲突情况 $...

网友评论

    本文标题:GIT 合并的冲突解决途径

    本文链接:https://www.haomeiwen.com/subject/ipmzjxtx.html