文章目录

  • 1.merge 分支冲突

1.merge 分支冲突

今天的情况是这样, 想象不仅有人在做开发版 dev 的更新, 还有人在修改 master 中的一些 bug. 当我们再 merge dev 的时候, 冲突就来了. 因为 git 不知道应该怎么处理 merge 时, 在 master 和 dev 的不同修改.
当创建了一个分支后, 我们同时对两个分支都进行了修改.

比如在:

  1. master 中的 1.py 加上 # edited in master.
  2. dev 中的 1.py 加上 # edited in dev.
    在下面可以看出在 master 和 dev 中不同的 commit:
$ git checkout master
$ git log --oneline --graph
#输出
d71a779 (HEAD -> master) change 4 in master
3a55f11 edited in master
*   eb21a06 keep merge info
|\
| * 02e9101 change 3 in dev
|/
3a6ab58 (train) back to change 2 and add comment for 1.py
2032b89 back to change 1 and add comment for 1.py
2747ffc change 2
16756dc change 1
13abbfd create 1.py
$ git checkout dev
$ git log --oneline --graph
#输出
1d3b96c (HEAD -> dev) change 3 in dev
02e9101 change 3 in dev
3a6ab58 (train) back to change 2 and add comment for 1.py
2032b89 back to change 1 and add comment for 1.py
2747ffc change 2
16756dc change 1
13abbfd create 1.py


当我们想要 merge dev 到 master 的时候:

$ git branch
* devmastertrain
$ git checkout master
$ git branchdev
* mastertrain
$ git merge dev
#输出
Auto-merging 1.py
CONFLICT (content): Merge conflict in 1.py
Automatic merge failed; fix conflicts and then commit the result.

git 发现的我们的 1.py 在 master 和 dev 上的版本是不同的, 所以提示 merge 有冲突. 具体的冲突, git 已经帮我们标记出来, 我们打开 1.py 就能看到:

所以我们只要在 1.py 中手动合并一下两者的不同就 OK 啦. 我们将当前 HEAD (也就是master) 中的描述 和 dev 中的描述合并一下.

a = 2
b = 1
c = b
#edited in master and dev


然后再 commit 现在的文件, 冲突就解决啦.

$ git commit -am "solve conflict"

再来看看 master 的 log:

$ git log --oneline --graph

Git教程——merge 分支冲突相关推荐

  1. git中merge分支到master产生冲突

    又是无知的一天,今天在gitlab上merge自己的代码到master上发现合并不上去,因为别人做了修改提交,导师教了我..............丢脸.... 上命令吧: 1.从自己的分支切换到ma ...

  2. 哔哩哔哩千峰教育Git教程笔记(安装、分支、协作、冲突、GitHub、gitee、vscode集成git)

    Git 介绍 Git和SVN的区别 Git安装 Git初始化 设置用户签名 初始化本地库 Git工作机制 添加暂存区 vim编辑器 git add添加到暂存区 git status查看状态 git c ...

  3. Git基本操作- 命令 merge - 分支合并、处理冲突

    官方帮助文档 $ git help merge GIT-MERGE(1) Git Manual GIT-MERGE(1) NAMEgit-merge - Join two or more develo ...

  4. git上传分支的原理_git系列教程四:分支和分支管理

    一些零碎的知识 修改最后一次提交 实际开发中,你可能会遇到下边这两种情况: Situation One:版本刚一提交(commit)到仓库,突然想起漏掉两个文件还没有添加(add).就好比你是老司机, ...

  5. 史上最简单的git教程|第九篇:分支管理工具

    在上一篇我们讲到了如何创建合并分支.如何解决冲突以及如何删除分支,那么接下来我们将讲到一些常用的分支管理工具. 获取所有分支列表: $ git branch * b1master 可以看书一共有两个分 ...

  6. Git学习系列(六)解决分支冲突及分支管理策略

    2019独角兽企业重金招聘Python工程师标准>>> 解决分支冲突 通常当Git无法自动合并分支时,就必须首先解决冲突后,再提交. 下面咱们先创建一个分支并切换到b1分支: 修改咱 ...

  7. Git 笔记——如何处理分支合并冲突

    1.前言 学习使用 Git 也有一段时间,但一直都是把 Git 当作一个代码仓库,使用的命令无非就是 clone, add, commit ,往往课程作业也没有过多人合作开发,没有体验过 Git 的分 ...

  8. 【学习总结】Git学习-参考廖雪峰老师教程六-分支管理

    学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...

  9. idea操作git时 合并分支+解决冲突

    总结一.IDEA使用Git合并到Master分支&冲突解决步骤 1.合并基本步骤 首先切换到master分支 在要合并的分支上右键 Merge into current 合并成功后,再选择Pu ...

最新文章

  1. 基于ATT和CK™框架的开放式方法评估网络安全产品
  2. svn使用经验---不断总结
  3. 学python必须知道的30个技巧
  4. centos7开启vnc服务_阿里云CentOS 7搭建VNC远程桌面服务步骤方法
  5. kali操作系统SSH问题解决方案
  6. wpf window 不执行show 就不能load执行_关于机器学习中的Scikit-Learn,你不知道的10个实用功能...
  7. PicGo+码云(gitee)图床环境搭建
  8. LINUX编译sofia-sip
  9. layui的表格可以动态添加行吗_Layui数据表格动态添加行的处理方式(原生HTML方式)...
  10. 新手购买单反终极攻略--谈谈现场验机的要领与要点
  11. DS3231时钟模块使用,IIC协议实践。(基于STM32)
  12. SAP ABAP开发实战——从入门到精通系列教程目录
  13. fragstats移动窗口
  14. dtech串口驱动 linux,帝特USB转串口驱动
  15. Spring Boot 分布式事物管理
  16. Index out of range using input dim 2; input has only 2 dims
  17. 脱胎于沃尔沃的Polestar 2浮出水面,它真能挑战Model 3吗?
  18. HGAME 2022 week1 个人部分WP
  19. Java接口继承接口
  20. 新媒体运营的岗位晋升路线是怎么样的? 新媒体管理师是趋势吗?

热门文章

  1. check_mysql 脚本_如何使用myisamchk和mysqlcheck工具快速修复损坏的MySQL数据库文件
  2. 如何退出vim编辑器?
  3. android 获取屏幕的宽和高
  4. asp.net三层架构制作新闻管理_为什么使用PHP制作网站?
  5. 项目缺少包如何和服务器,解决缺少服务器依赖包问题
  6. php如何计算精确,简单谈谈php浮点数精确运算
  7. 连锁零售行业ERP解决方案
  8. ORM框架之Mybatis(六)mybatis通用mapper
  9. 乘法口诀表java加表格_Java 面试 - 打印九九乘法口诀表
  10. 开发打开设置洁面_用了两到三年的华为手机,一键打开quot;开发者选项quot;,帮助性能加速...