在git reset --hard HEAD之后,git pull仍然说:未经跟踪的工作树文件......将被合并覆盖

时间:2013-04-25 16:54:56

标签: git version-control

git reset --hard HEAD之后,git pull说:未经跟踪的工作树文件...将被合并覆盖

任何想法?

我确实尝试了git fetchgit fetch --all ......

5 个答案:

答案 0 :(得分:9)

如果您只想将本地更新为原始状态,可以使用描述的here解决方案:

$ git fetch origin

$ git reset --hard origin/master

答案 1 :(得分:7)

你有未跟踪的文件。简单地

git stash -u

将它们存放在藏匿处并获得一个干净的工作树(-u指定您要将修改与新文件一起存储)。拉,合并,改组或其他什么后,你可以

git stash pop

让他们回来。

答案 2 :(得分:2)

您需要删除未跟踪的文件。如果要删除所有未跟踪的文件,请使用git clean -fd。或者,如果您不想删除它们,请使用git stash -u将其保留为隐藏状态。要从隐藏状态恢复,请使用git stash pop

答案 3 :(得分:0)

您仍然有未跟踪的文件(非git add个文件)。这些不会被git reset删除。

如果你想保留它们,你可以这样做:

git add -A
git stash
git pull
git stash apply

stash就像一个商店,您可以在其中临时添加文件而无需提交文件。

答案 4 :(得分:0)

我的存储库中发生这种情况的原因是另一个开发人员从主存储库中删除了一个目录/并将其移动到子模块中。这个特定的存储库已经使用了很长时间,所以另一个开发人员将目录移动到我上次使用repo的时间和今天发生问题时的子模块。

在这种情况下,只需删除有问题的未跟踪文件即可。