我有以下工作树状态
$ git status foo/bar.txt
# On branch master
# Unmerged paths:
# (use "git reset HEAD <file>..." to unstage)
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# deleted by us: foo/bar.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
Run Code Online (Sandbox Code Playgroud)
文件foo/bar.txt在那里,我想再次进入"未更改状态"(类似于'svn revert'):
$ git checkout HEAD foo/bar.txt
error: path 'foo/bar.txt' is unmerged
$ git reset HEAD foo/bar.txt
Unstaged changes after reset:
M foo/bar.txt
Run Code Online (Sandbox Code Playgroud)
现在它变得令人困惑:
$ git status foo/bar.txt
# …Run Code Online (Sandbox Code Playgroud) 何时git status发生不同的未合并状态added by us,added by them或者both deleted?
我试图通过执行合并来重现后者,其中文件已在当前和合并分支中删除,但我无法创建此状态.
在调用之后git merge --no-commit <commit>,执行提交将导致与两个(或更多)父项的合并提交.调用什么命令来创建一个简单的提交(不必用--squash选项重新执行merge命令)?