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

全部评论

相关推荐

今天 15:09
武汉大学 Java
点赞 评论 收藏
分享
代码飞升_不回私信人...:别这样贬低自己,降低预期,放平心态,跟昨天的自己比。做好自己,反而会效率更高心态更好,加油兄弟
点赞 评论 收藏
分享
牛客77743221...:做一段时间,公司出钱送你去缅甸和泰国旅游
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务