git - 运行 git pull 后显示许多已删除文件的 Git 状态
问题描述
有几个人(包括我)在做一个项目。在过去的一段时间里,我并没有花太多时间在这上面,所以几周内也没有承诺。
用我的新更改更新我的本地存储库后,运行 git status 会显示大量新的和修改过的文件,这些是其他人更改或创建的文件。
我认为这是因为 git 认为最新版本是我几周前提交的版本,所以我决定先更新我的本地 repo 然后重新开始更安全。
因此,我运行 git pull 来更新我的本地仓库。然后它说它不能这样做,因为很多文件是重复的(或类似的东西),所以我手动删除了本地 repo 中的文件并再次运行 git pull。完成此操作后,我检查了 git status,它现在向我显示了许多应该存在的已删除文件。
这些文件存在于 gitlab 上,但由于某种原因没有被拉到我的本地仓库中。
任何人都可以帮助我了解可能导致这种情况或不同方法尝试的原因吗?
解决方案
由于您手动删除了一些“重复”文件,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
以从其他人那里获取最新的更改,并在他们的基础上重新提交您的最后一次提交。
推荐阅读
- reactjs - 尝试使用 keycloak 服务器保护前端反应页面,但我有这个错误 'keycloak.init(...).then is not a function'
- r - 使用宽度和闪避时geom_bar的位置问题
- r - ggplot中每个X条之间的空间
- json - 如何在scala中解析数据框中的json列
- powershell - ConvertTo-Json 格式
- javascript - 单击按钮存储后如何存储X和Y坐标
- android - 是否推荐使用偶数 dp(或 sp)的维度?
- javascript - 如何将文件夹中的所有文件作为模块导入并将所有文件作为对象导出?
- java - Groovyc 和 Java 12 预览功能
- python - 使用 groupby 的一列用 pandas 创建 X 个新列