【发布时间】:2012-12-20 08:58:49
【问题描述】:
假设我在运行时遇到了foo/bar.txt 的合并冲突:
$ git checkout A
$ git merge B
我想通过从分支 A 获取 foo/bar.txt 来自动解决冲突。(我知道我在做什么,我确实需要这个。分支 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。
【问题讨论】:
标签: git merge automation conflict