Git分支(5/5) -- 解决合并的冲突
2024-09-29 09:48:22
如果两个分支上都对同一个文件进行了修改, 那么就有可能发生冲突.
首先创建一个分支, 并切换到该分支上:
然后修改index.html, 修改几个地方吧.
然后查看状态, 并commit:
然后切换到master, 并编辑同一个文件:
而这时index.html并不是realwork分支修改后的样子, 而是修改之前的样子:
然后修改index.html, 修改几处可能引起冲突的地方.
commit:
然后查看log:
接下来最应该做的就是diff:
也可以使用可视化工具进行diff:
下面进行合并:
不出所料, 冲突发生了, 自动合并失败.
现在的状态, 应该叫做Merging状态.
现在打开index.html是这样的:
可以看到两处冲突, 每处都有HEAD(master)版的和realwork分支版的.
上图我使用的是Visual Studio Code, 可以点击上面的按钮来进行冲突的解决, 也可以手动修改文件进行解决.
但是在这里我使用我配置好的mergetool:
git mergetool. 这个命令将会打开p4merge(我本机配置的mergetool):
按图示操作, 点击图标选择不同的版本, 最后点击保存即可.
关闭p4merge:
然后commit:
commit之后, 状态就不再是merging了, 但是会出现一个未被追踪的文件:
这是因为在解决冲突的时候, git会保存一个带有触痛的原始版本, 以备不时之需:
但是.orig文件是不应该被追踪的, 所以需要添加到.gitignore文件中:
然后查看状态:
这次只有.gitignore发生了变化.
commit:
最后可以删除 realwork 分支了:
查看log:
Ok.
最新文章
- Codeforces Round #347 (Div. 2)
- CodeForces 166B	(凸包)
- Spring项目解决Post乱码
- iOS 调用拍照、选择本地相册、上传功能---未完善。
- c#操作Excel时,抛出异常:“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”
- 归档 Archive、解档Unchive、 XML(一)
- .NET两种常见上传下载文件方法
- linux添加用户、用户组、权限
- core dump
- windows应用中调用DLL一步步试验
- Windows 7 taskbar and startmenu pin
- 如何在joomla上展示word,pdf,xlsx,ppt
- Dubbo优雅关机原理
- Kaldi的交叉熵正则化
- 【LeetCode每天一题】Swap Nodes in Pairs
- 【struts2】action中使用通配符
- 每天一个linux命令:cd命令
- mysql出现1030 Got error 28 from storage engine解决方法
- jsp引入js文件
- Vagrant安装指南
热门文章
- UVA1600 状态BFS
- HDU - 3001 Travelling 状压dp + 三进制 [kuangbin带你飞]专题二
- 模板语言变量,js变量,js自执行函数之前嵌套调用
- linux 运维,代理,acl控制访问
- tcp为什么要三次握手,而不能二次握手?
- (二十七)mongodb操作学习
- Caused by: The Result type [json] which is defined in the Result annotation on the class
- 如何在BIOS中设置RAID?
- jenkins部署web项目到webogic
- Hive 编程之DDL、DML、UDF、Select总结