在Git checkout过程中,我不小心停止了命令,该如何恢复?

3
我运行了git checkout命令,但在中途停止了。现在我无法切换分支,因为它会抱怨我会覆盖本地文件。如何解决这个问题?例如:
git checkout egotailer 错误:您对以下文件的本地更改将被checkout覆盖:
...
我尝试过
git clean -d -x -f
但没有帮助。

检出当前分支的HEAD,然后切换? - nhahtdh
你可以在git命令中组合单个字母选项。git clean -xdf - Adam Dymitruk
2个回答

4

如果你确定你的代码库已经是最新的,没有未提交的更改,那么就可以将分支重置到 HEAD。

git reset --hard HEAD

1
git reset --hard

应该这样做。当您不指定引用时,HEAD是隐含的。

警告:这是Git中最常见的丢失工作的方式!!

清理目录的更安全的方法是

git stash -u

或者

git stash --include-untracked

这将执行git reset --hard的操作,但您不会意外丢失信息。此功能仅在1.7.7版本及以上版本中可用。在此之前,您必须

git add -A && git stash

为了达到相同的效果。

稍后,如果你意识到自己缺少重要的工作,可以从储藏中找回它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接