【问题标题】:git pull added tons of untracked files and modified filesgit pull 添加了大量未跟踪的文件和修改过的文件
【发布时间】:2020-06-02 21:17:57
【问题描述】:

我对 git 不是很熟悉,因为我只是以最基本的方式使用它。最近我遇到了这种奇怪的行为,这对我来说毫无意义,并对我的工作效率造成了巨大的干扰。对于某些分支,当我运行git pull 而不是像我期望的那样只从远程存储库中获取最新提交时,我得到了一个庞大的已修改/删除/添加文件列表以及大量未跟踪文件。我从中提取的分支是我们团队的主分支。我只是想让我的本地 master 副本保持同步。这些其他未跟踪的文件以及这些修改过的文件是什么?我没有碰任何其他文件。

让问题变得更糟的是我无法删除这些未跟踪的文件或任何东西。我试过`git clean -fx',它只删除了3-4个文件,但仍然留下数百个。此时我只想摆脱所有这些文件,删除分支,然后再次从远程拉取分支。

我尝试了以下操作:

git fetch --all
git reset --hard origin/<remote_branch_name>

但我收到一个错误,因为 Git 无法创建符号链接。我在 Windows 上使用 Git。

git pull 为什么要这样做,我该怎么办?

编辑:当我以管理员身份运行提示时,我终于能够运行 git reset 命令,但它仍然无法解释这种奇怪的 git pull 行为。

【问题讨论】:

  • 如果在执行git pull 时文件被修改/删除/添加,那么其他人会将更改推送到远程存储库。因此,您正在将这些更改拉到您的本地存储库中。
  • 是的,但这就是拉的重点吗?我想从远程分支获取最新的更改。
  • 正确。那么,如果从远程存储库中提取文件,您为什么认为您会得到未跟踪的文件?
  • 很容易将 as an admin 部分作为问题的根源。它很可能问题的根源;这里还不够肯定。然而值得注意的是,git pull 只是意味着运行git fetch 来获取新的提交,然后运行第二个 Git 命令来合并新的提交可能是第二个出错的命令。如果您想一劳永逸地解决它,最好单独运行每个命令,以便您可以深入了解相应的细节。
  • 第二个命令是合并吗?

标签: windows git git-bash


【解决方案1】:

在我看来,“git pull”操作没有成功完成。

有可能你以管理员身份修改了一些文件,当以非管理员用户身份拉取时,git 尝试修改或删除文件并且没有权限。

因此你停留在半生不熟的状态。

当你运行git status 时你看到了什么? git pull有错误吗?

【讨论】:

  • git pull 没有错误。权限问题只影响了符号链接文件,即 3 个。但是,当我运行 pull 时,还有数百个其他修改过的文件。
猜你喜欢
  • 2011-03-30
  • 2015-02-03
  • 2011-10-30
  • 1970-01-01
  • 2017-12-30
  • 1970-01-01
  • 2013-04-24
  • 2015-01-11
相关资源
最近更新 更多