我的情况是有
的文件apple
orange
bananna
这已提交到Branch A
。 Branch B
已签出。它不包含此文件。创建了一个重复文件,但存在一些差异。该文件已提交。
Branch B
中的文件
bear
wolf
tiger
Branch A
已签出。 git merge B
因合并冲突而被执行。 git checkout --ours file.txt
用于解决冲突
完成一些工作后,我们意识到正确的是Branch B
版本:
bear
wolf
tiger
尝试再次运行git merge并不会创建新的冲突解决方案。似乎合并更改的唯一方法是再次修改文件。
有没有办法在不修改文件的情况下完成此操作?或者找到解决方案的方法是这样解决的?该提交的历史并未表明冲突是以这种方式解决的。
编辑: 这是一个模拟问题的测试脚本
mkdir git_test
cd git_test
git init
echo "README" > readme.md
git add readme.md
git commit -m "Init"
git branch a
git checkout a
echo -e "apples\moranges\banannas" > file.txt
git add file.txt
git commit -m "Checkin file.txt on branch a"
git checkout master
git branch b
git checkout b
echo -e "bears\nwolf\ntigers" > file.txt
git add file.txt
git commit -m "Checkin file.txt on branch b"
git checkout a
git merge b
git checkout --ours file.txt
git add file.txt
git commit -m "Merged branches"