在rebase之后与mergetool错误合并

时间:2017-07-21 05:59:28

标签: git

我试图将我的本地分支与我的开发分支合并(两者都是本地的,但开发是最新的远程开发分支)。在我做了rebase之后,我得到了一些冲突,当我解决它们时,我注意到在合并一个文件时我忽略了开发分支的提交。我检查了这个文件到最新的提交,但现在它显示为有更改(Eclipse和git状态都显示它需要提交)。

命令序列:

(local_dev_branch)
git pull
git checkout local_branch_from_dev
(local_branch_from_dev)
git rebase local_dev_branch
(conflicts appear)
git mergetool 
git rebase --continue
(noticed wrong file)
git checkout newest_commit_id wrong_file
git status
(and it shows that wrong_file is modified)

我是github的新手,所以这对我来说仍然有点混乱。有可能以某种方式恢复文件而不必在以后再次提交它吗?

1 个答案:

答案 0 :(得分:1)

通常,当您的工作目录是干净的并且您检查了以前版本的文件时,该文件当然会显示为已更改。与存储库的最新状态(即分支的HEAD提交)相比,文件内容确实发生了变化。

提交新版本有什么问题?

或者,您可以重置为rebase之前的状态并再次执行此操作,这次从一开始就采用正确的文件版本(假设在重组时合并期间出现问题)。有关如何撤消变基的信息,请参阅this answer