Git学习笔记5 merge冲突时二选一

在Git中,当合并分支遇到冲突时,如何高效解决是一个关键问题。如果两个程序员对同一文件有不同的修改,有时会决定采用一方的改动。本文介绍了在merge冲突时,如何使用`git checkout --ours`或`git checkout --theirs`命令来选择保留某一方的版本,从而快速解决冲突。
摘要由CSDN通过智能技术生成

常常有这样一种情况,程序员甲在Git branch了一个项目,然后花了1个月在 branch 中开发了几个功能,解决了一些bug,最后一步必然是把这个branch merge回master,然后解决冲突,再进行交给QA前的最后调试。解决冲突是个很痛苦的过程,如果高效解决 merge conflict 是所有版本控制系统花大力气的地方之一,这里就不赘述,只介绍如何在merge 冲突时使用 Git 命令简单地在发生冲突的两个文件版本中进行二选一。


假设原来有文件A,程序员甲把A进行了完全的重写,而甲在自己的branch工作的同时,他的同事程序员乙则对A进行了一个优化。这样,当甲想要merge的时候,A文件就有很多的冲突,可能多达几百行。


$ git merge master

   Auto-merged xxx/A.java

   CONFLICT (content) : Merge conflict in xxx/A.java

   Automatic merge failed; fix conflicts and then commit the result.


这时候两个程序员达成一致,最后应该完全采用甲的版本,因为乙只是在原基础上优化,而甲进行了全方面的重写。在这种情况下,git checkout 命令的   - -theirs 和 - -ours 就派上用场了。前者表示保留甲 想要merge的版本,后者表示保留master branch中的版本,即乙的版本。


$ git checkout - -ours xxx/A.java // 抛弃甲的版本,

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值