[Git] 018 冲突在所难免,需要巧妙化解
0. 回顾
- [Git] 005 初识 Git 与 GitHub 之分支 中“4.2 情形二”的 9 提及了“解决冲突”
- 当时没有展开,这回详谈
- 我这回反其道而行,先讲一下制造冲突失败的案例
1. 没有条件,创造条件(第一创)
- 条件创造失败案例
1.1 新建一条分支,并切入其中
1.2 打开 "note_01.txt" 并修改
1.3 保存、添加、提交、切换
- 上图有个提示
Your branch is ahead of 'origin/master' by 1 commit.
- 当前分支 (master) 比远程仓库多一次 "commit"
- 目前的情况
1.4 合并
合并结果分析
- "conflict" 分支的内容覆盖了之前的内容
- 并没有产生冲突
- 倒是和 [Git] 017 加一条分支,享双倍快乐 的 "2.3" 一致
2. 继续创造条件(第二创)
- 条件创造失败案例
2.1 目前的情况
2.2 修改 "master" 分支的 "note_01.txt"
- 这一步是对“第一创”的改进
2.3 添加
- 这一步是对“第一创”的改进
2.4 切到 "conflict" 分支,并修改 "note_01.txt"
2.5 添加
2.6 切回 "master" 并合并
合并结果分析
- 并没有进行合并操作,原因:上回已经合并过了
- 并没有产生冲突
- [Git] 008 status 与 commit 命令的补充 的 "2.4" 是没有 "add" 之过
- 这回是没有 "commit" 之过
3. 事不过三(第三创)
- 成功创造“冲突”
3.1 目前的情况
- "2.1" 示意图适用于现在的情况
- 仓库没有变化,只是工作区与暂存区的内容变动了
3.2 切到 "conflict" 分支
- 从上方红框中可以看出工作区的 "note_01.txt" 有变动
3.3 修改 "conflict" 分支下的 "note_01.txt"
- 记得保存
3.4 添加并提交
3.5 切到 "master" 分支
3.6 修改 "master" 分支下的 "note_01.txt"
- 记得保存
3.7 添加并提交
3.8 合并
- 产生冲突
- "note_01.txt" 存在冲突
- 必须手动解决冲突后再提交
- 此时可以用
git status
查看一下
- 此时的 "note_01.txt"
4. 解决冲突
4.1 “ 定稿” "note_01.txt"
4.2 再次提交
4.3 目前的情况
4.4 "log" 命令的补充
git log --oneline --graph
[Git] 018 冲突在所难免,需要巧妙化解的更多相关文章
- 转:git合并冲突解决方法
git合并冲突解决方法 1.git merge冲突了,根据提示找到冲突的文件,解决冲突 如果文件有冲突,那么会有类似的标记 2.修改完之后,执行git add 冲突文件名 3.git commit注意 ...
- git合并冲突解决方法
1.git merge冲突了,根据提示找到冲突的文件,解决冲突 如果文件有冲突,那么会有类似的标记 2.修改完之后,执行git add 冲突文件名 3.git commit 注意:没有-m选项 进去类 ...
- git 出现冲突时的解决办法
<一> 二者兼得最麻烦 1, 出现冲突一般出现在群体开发两个及以上开发者同时修改同一个文件时 2, 具体表现为 git pull , git push 和 git commit 命令执行失 ...
- Git二进制文件冲突解决
Git二进制文件冲突解决 在我们合并分支的时候,如果两个分支都进行了修改那么就会产生合并冲突.对于非二进制文件的冲突解决,git会给出冲突的位置我们可以手动修改然后再commit.但是对于非二进制文件 ...
- 「GIT SourceTree冲突」解决方案
现在程序猿标配GIT作为代码管理,但是从SVN到GIT学习中,其中GIT的冲突是一个难点,常常会导致Push不上去,Pull不下来,很尴尬的地步,还不知道自己写的代码被覆盖没,废话不多说,直接上干货! ...
- git 代码冲突处理
在使用git pull代码时,经常会碰到有冲突的情况,提示如下信息: error: Your local changes to 'c/environ.c' would be overwritten b ...
- git 解决冲突问题
问题描述: 一般来说,只要多人提交同一仓库,必然会有冲突的发生. Git解决 利用git解决冲突很简单,最常规的方法莫过于工作之前先更新整个project,完成之后及时提交.然而尽管这样做,也难免有人 ...
- git 解冲突
如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下: git stash git pull git stash pop 然后可以使用Git diff -w +文件名 来确认代码自动合 ...
- git解决冲突方式
Git解决冲突 安装beyond compare 4 2.配置git对比工具 #difftool 配置 git config --global diff.tool bc4 git config --g ...
随机推荐
- 详解WebService开发中四个常见问题(2)
详解WebService开发中四个常见问题(2) WebService开发中经常会碰到诸如WebService与方法重载.循环引用.数据被穿该等等问题.本文会给大家一些很好的解决方法. AD:WO ...
- ks代码助解
代码实现: data_test_2 = {'gd':[1,1,1,1,1,1,0,0,0,0,0,0,0],'score':[1,2,0,2,2,7,4,5,4,0,4,18,np.nan]} dat ...
- 第二章Python入门
第二章 Python入门 2.1.简介 Python是著名的"龟叔"(Guido van Rossum)在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言 Pytho ...
- JDBC与Hibernate的区别
相同点: ◆两者都是JAVA的数据库操作中间件. ◆两者对于数据库进行直接操作的对象都不是线程安全的,都需要及时关闭. ◆两者都可以对数据库的更新操作进行显式的事务处理. 不同点: ◆使用的SQL语言 ...
- 按照行数分割excel
本来是想通过NOPI自己编写个小工具分割excel的,但是不想去研究API,就百度了一下,找了很久,有几个软件说是为了这个功能而生,实际上要么不能使用,要么出错,所以暂时没有公开可用的软件. 然后我就 ...
- elementUI中的el-xxx标签解释
点击跳转地址:https://blog.csdn.net/Tom__cy/article/details/89680067 el-col :整体,el-container: 主体区域el-toolti ...
- xgboost调参过程
from http://blog.csdn.net/han_xiaoyang/article/details/52665396
- shell练习--PAT题目1005:继续(3n+1)猜想(全绿失败喜加一)
卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如对 n=3 进行验证的时 ...
- 2019春Python程序设计作业2(0326--0401)
1-1 已知st="Hello World!",使用print(st[0:-1])语句可以输出字符串变量st中的所有内容. (2分) T F 1-2 Python程 ...
- JS深度判断两个数组对象字段相同
/** * 判断此对象是否是Object类型 * @param {Object} obj */ function isObject(obj){ return Object.prototype.toSt ...