首页 > 解决方案 > 运行 git pull 后显示许多已删除文件的 Git 状态

问题描述

有几个人(包括我)在做一个项目。在过去的一段时间里,我并没有花太多时间在这上面,所以几周内也没有承诺。

用我的新更改更新我的本地存储库后,运行 git status 会显示大量新的和修改过的文件,这些是其他人更改或创建的文件。

我认为这是因为 git 认为最新版本是我几周前提交的版本,所以我决定先更新我的本地 repo 然后重新开始更安全。

因此,我运行 git pull 来更新我的本地仓库。然后它说它不能这样做,因为很多文件是重复的(或类似的东西),所以我手动删除了本地 repo 中的文件并再次运行 git pull。完成此操作后,我检查了 git status,它现在向我显示了许多应该存在的已删除文件。

这些文件存在于 gitlab 上,但由于某种原因没有被拉到我的本地仓库中。

任何人都可以帮助我了解可能导致这种情况或不同方法尝试的原因吗?

标签: gitversion-controlgitlab

解决方案


由于您手动删除了一些“重复”文件,git 认为它们在您运行git status. 您不希望进行这些更改。

所以,运行git reset --hard hash_of_your_commited_new_changes回到你之前的提交,即你提到你已经“更新”了你的本地仓库。

您可以运行git log --oneline --decorate以识别hash_of_your_commited_new_changes

最后,运行git pull -r以从其他人那里获取最新的更改,并在他们的基础上重新提交您的最后一次提交。


推荐阅读