[英]git rebase not continuing after fixing conflicts
我在git rebase origin/[branch]
上运行了一个git rebase origin/[branch]
,这是在开发过程中将多个本地分支合并在一起的结果。 正如所料,我遇到了一些冲突并开始修复它们。 前几个很好。 Git列出了文件,我清理了它们,为每个git add [file]
了适当的git add [file]
,然后做了一个git rebase --continue
并且就这样了。
但是现在我遇到了一个冲突并且被清理的补丁,但由于某些原因我不能继续。 我已经清理了文件并且所有文件都已上演但是当我git rebase --continue
我得到:
$ git rebase --continue
You must edit all merge conflicts and then
mark them as resolved using git add
我知道这个提交的事实删除了一个稍后重新添加和修改的文件。 但当我git status
我看到的是:
$ git status
# Not currently on any branch.
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: [file 1]
# modified: [file 2]
# modified: [file 3]
#
删除的文件未显示。
因此没有文件需要修改,但是git坚持认为我还有其他事情需要继续修改。
想出这个问题并把它放在这里以防万一其他人遇到它:
我注意到我认为在此提交中删除的文件仍在文件系统上,并且仍被git跟踪。 所以我在它上面做了一个git rm [file]
并收到以下消息:
$ git rm [file one]
[file two]: needs merge
rm '[file one]'
当我检查[file two]
确定它仍处于冲突状态并需要修复。 在修复它并进行分期后,我能够进行git rebase --continue
。 我仍然不确定为什么删除的文件没有显示为已删除或为什么这个文件没有显示为在执行git status
时需要修复。
您可以尝试使用git ls-files -u
来获取git认为未合并的文件列表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.