zoukankan      html  css  js  c++  java
  • git分支管理(2)-解决冲突

    本文将简单介绍因合并分支所产生的冲突,以及冲突的解决方法

    首先创建并切换到新分支dev
    并在file文件的最后添加一行:

    this is edited by dev branch.
    

    将修改提交到仓库

    $ git add .
    
    $ git commit -m '作者dev修改了file文件'
    [dev 5fe7b14] 作者dev修改了file文件
     1 file changed, 1 insertion(+)
    

    现在切换到主分支master
    并修改file文件的最后一行为:

    this is edited by master branch.
    

    并将修改提交到仓库

    $ git add .
    
    $ git commit -m '作者master修改了file文件'
    [master e5c70e0] 作者master修改了file文件
     1 file changed, 1 insertion(+)
    

    现在,通过查看分支可以看到:两个分支上分别有新的提交

    $ git branch -v
      dev    5fe7b14 作者dev修改了file文件
    * master e5c70e0 作者master修改了file文件
    

    这种情况下,Git无法执行“快速合并”,
    只能试图把各自的修改合并起来,但这种合并就可能会有冲突,
    我们试试将dev分支合并到master分支上:

    $ git merge dev
    Auto-merging file.txt
    CONFLICT (content): Merge conflict in file.txt
    Automatic merge failed; fix conflicts and then commit the result.
    

    此时git告诉我们,file文件中存在冲突,
    必须手动解决冲突后才能提交 (此时就进入了'MERGING'状态)

    此时我们应该打开冲突文件file,查看状况
    image1.png
    在上面的图片中我们可以看到
    git已经将冲突产生的内容用<<< === >>>标记起来

    此时我们应该与另一个分支上的工作者进行沟通交流
    修改文件内容、删除多余符号后 再提交文件到仓库

    $ git add .
    
    $ git commit -m '修复了file文件中的冲突'
    [master f0cc575] 修复了file文件中的冲突
    

    此时,我们成功解决了冲突
    可以通过带参数的git log来查看分支的合并情况

    $ git log --graph --pretty=oneline --abbrev-commit
    *   f0cc575 (HEAD -> master) 修复了file文件中的冲突
    |
    | * 5fe7b14 (dev) 作者dev修改了file文件
    * | e5c70e0 作者master修改了file文件
    |/
    * 4c25416 提交了file文件
    

    最后删除dev分支

    $ git branch -d dev
    Deleted branch dev (was 5fe7b14).
    
  • 相关阅读:
    latex插入图片
    装virtualenv和flask
    GitHub Pages写博客
    用模拟退火算法进行特征选择
    用遗传算法进行特征选择
    智能垃圾桶
    蚁群算法 与 A*算法 寻找最优路径 对比 (pygame)
    pygame
    pyinstaller打包python应用程序
    内网渗透之信息收集-linux
  • 原文地址:https://www.cnblogs.com/baebae996/p/12971055.html
Copyright © 2011-2022 走看看