我试图将来自master
的提交修复了一系列换行问题,而无需手动处理这些换行引起的所有冲突。
我们在master
分支中做了一些提交来修复一些混乱的换行符。
这些提交触及了存储库中的许多文件。
现在,我想将这些更改带入一个功能分支myfeature
,它与master中存在的功能有所不同。如果我们这样做
$ git checkout myfeature
$ git merge master
我们遇到冲突,因为Git认为master中的每一行都与myfeature
中的每一行不同,这是真的。如果我们尝试使用
$ git merge -s recursive -Xignore-space-at-eol master
如this SO question中所述,Git将使用myfeature
中的换行符来查找master
中没有实质性更改的任何行,这与我想要的相反。
有没有办法将master
合并到myfeature
获取更新的换行符,但无需手动管理冲突?
答案 0 :(得分:1)
更多评论,但时间过长:只需合并另一个方向,并按照您喜欢的方式命名分支:
git branch tmpbranch master
git checkout tmpbranch
git merge -s recursive -Xignore-space-at-eol -m "my merge message" myfeature
git branch -f myfeature tmpbranch
git checkout myfeature
git branch -D tmpbranch
请注意,git会记录合并的方向,在此之后这将是不正确的。但是我从来没有见过一个工具实际上使用了这些信息而人们总是把它弄得乱七八糟,所以这不应该是问题。