假设我foo/bar.txt
在运行时遇到了合并冲突:
$ git checkout A
$ git merge B
我想通过foo/bar.txt
从分支 A 自动解决冲突。(我知道我在做什么,我确实需要这个。分支 B 中的版本是错误的,我不在乎丢失工作中的更改在这种情况下是树。)看来我可以通过运行这些命令来做到这一点:
$ git reset foo/bar.txt
$ git checkout foo/bar.txt
有没有更简单的单命令解决方案?
不幸的是foo/bar.txt
,即使没有冲突,这些命令也会改变,我不希望这样。如果没有冲突,我想保持它离开foo/bar.txt
的任何状态。git merge B
所以我需要一个 Unix shell 命令,它会检测 中是否存在冲突foo/bar.txt
,如果存在,它将通过foo/bar.txt
从当前分支获取版本来解决冲突。它不会做任何其他事情,即它不会修改其他文件,它不会提交更改,并且foo/bar.txt
如果该文件中没有冲突,它也不会更改。