我尝试合并来自另一个分支的某些更改(例如that
分支)。我希望保留对that
分支上的现有文件所做的更改,但that
分支也会删除一些文件,并且不应在this
分支上删除这些文件。
合并通常会从this
删除文件。
我尝试使用(在this
分支上)git merge --no-commit that
来保留已删除的文件。有可能吗?
在合并中,我尝试使用git checkout --ours dontDeleteMe.txt
恢复文件,但我得到error: pathspec 'dontDeleteMe.txt' did not match any file(s) known to git.
,即使dontDeleteMe.txt
分支中存在this
(即{ {1}}当我开始合并时。)
HEAD
和git checkout --theirs dontDeleteMe.txt
也会给出相同的结果。
我是想在这里实现不可能的,还是只是做错了什么?
答案 0 :(得分:1)
执行git merge --no-commit that
。
在合并期间删除dontDeleteMe.txt
时,您必须指定要从中取出的修订dontDeleteMe.txt
。
使用git checkout this -- dontDeleteMe.txt
或git checkout HEAD~1 -- dontDeleteMe.txt
结帐参数--ours
和--theirs
仅适用于冲突。