我运行了 git checkout 并在中间停止了该过程。现在我无法切换分支,因为它抱怨我将覆盖本地文件。我该如何解决这个问题?例如
git checkout egotailer 错误:您对以下文件的本地更改将被结帐覆盖:...
我试过了
git clean -d -x -f
但这没有帮助
我运行了 git checkout 并在中间停止了该过程。现在我无法切换分支,因为它抱怨我将覆盖本地文件。我该如何解决这个问题?例如
git checkout egotailer 错误:您对以下文件的本地更改将被结帐覆盖:...
我试过了
git clean -d -x -f
但这没有帮助
好吧,如果您知道您的存储库都是最新的并且您没有任何需要签入的未完成的内容,只需将您的分支重置回 HEAD。
git reset --hard HEAD
git reset --hard
应该这样做。HEAD
当您不指定引用时,是隐含的。
警告这是在 Git 中丢失工作的最常见方式!
清理目录的更安全方法是
git stash -u
或者
git stash --include-untracked
这将git reset --hard
起到作用,但您不会意外丢失信息。它仅在 1.7.7 版本中可用。在此之前你必须
git add -A && git stash
为了同样的效果。
稍后,如果您意识到自己遗漏了重要的工作,您可以从藏匿处取回它。