我将来自另一个repo的更改合并到我的repo中,并导致一个冲突,即所有Java类中的版权注释:
<<<<<<< HEAD
* Copyright (C) 2010-2017 Peter, Sofi, and Others
=======
* Copyright (C) 2010-2018 Peter, Sofi, and Others
>>>>>>> 01e35t13155963q84e8e05b7101235488c50f4e639eew3c4
冲突很容易解决,但问题是这个冲突出现在50多个Java类中,我认为这些类很难通过所有这些类并手动解决冲突。
是否有一种快速方法可以自动解决所有类中的此冲突?顺便说一下,我使用Eclipse。
答案 0 :(得分:2)
您可以使用git rerere
要启用rerere功能,您只需运行此配置设置:
$ git config --global rerere.enabled true
当我们将两个分支合并在一起时,我们会发生合并冲突:
$ git merge i18n-world
Auto-merging hello.rb
CONFLICT (content): Merge conflict in hello.rb
Recorded preimage for 'hello.rb'
Automatic merge failed; fix conflicts and then commit the result.
现在你可以解决它只是put'hola mundo'并且你可以再次运行git rerere diff以查看rerere会记住什么:
$ git rerere diff
--- a/hello.rb
+++ b/hello.rb
@@ -1,11 +1,7 @@
#! /usr/bin/env ruby
def hello
-<<<<<<<
- puts 'hello mundo'
-=======
- puts 'hola world'
->>>>>>>
+ puts 'hola mundo'
end
所以基本上说,当Git看到hello.rb文件中的一个大块冲突,一方面有“hello mundo”而另一方面有“hola world”时,它会将其解析为“hola mundo”。
答案 1 :(得分:1)
您正在寻找的是git rerere
。这将为您保存冲突解决方案。您可以找到一些额外信息here in this doc entry。如果下一个冲突解决方案完全相同,这将重用冲突解决方案。