GIT 合并的冲突解决途径

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

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 命令图形化编辑以解决了冲突后再进行合并。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,740评论 4 54
  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,673评论 1 26
  • 近来媒体曝光中,经常报道由于司机操作失误或无心之举,导致发生别车,然后两人互别,一番你追我赶之后,发生一方被另一方...
    墨阳践行阅读 431评论 0 0
  • 我们对泰勒的印象恐怕来自于卓别林的电影。泰勒是管理学的奠基人。人类很早就有了协作,但在泰勒之前,没有人真正从理论上...
    kafkaliu阅读 350评论 0 1
  • 2017-7-1 星期六 上海白天晴晚上下 榴莲姑娘每天来说事:这是我原创99篇日记。我是日记星球第49号星宝...
    凯速㬵带纸管_月兔阅读 762评论 0 2