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

  • 相关阅读:
    Bit,Byte,Word,Dword,Qword
    One good turn deserves another
    IHttpModule & IHttpHandler
    畅想:哈夫曼树的应用
    The Controls collection cannot be modified because the control contains code blocks
    Talk O/RM (DAL) too ...
    实现对象集合枚举接口
    [ZT]实现创造生命的古老梦想——合成生物学的发展走向
    笔记本基础知识篇之DVI接口详解
    Analysis Services: write back
  • 原文地址:https://www.cnblogs.com/leon1124/p/14039871.html
Copyright © 2020-2023  润新知