gpt4 book ai didi

git - 无法从工作目录中删除文件

转载 作者:太空狗 更新时间:2023-10-29 14:06:18 28 4
gpt4 key购买 nike

我正在尝试检查一个分支,但不断收到此错误:

error: Your local changes to the following files would be overwritten by checkout:
file.txt
Please, commit your changes or stash them before you can switch branches.
Aborting

但是:

  • 当我stash 时,没有任何变化。 file.txt 仍在工作中目录。
  • 当我add 文件然后stash 时,它返回到工作目录。
  • 当我reset --hard 时,没有任何改变。 file.txt 是仍在工作目录中。
  • 当我checkout --当前分支,没有任何变化。 file.txt 仍在工作目录中。
  • 我什至尝试了 git rm -f file.txt 然后 stash。也没有帮助。

在完成所有这些之后,我仍然无法 checkout 不同的分支,因为我被 file.txt 困住了。

我该如何解释这里发生的事情?我该如何摆脱 file.txt?

如果重要的话,我正在 Windows 上使用 git-scm。

编辑 git diff --check 显示尾随空格存在差异。为什么 git 不能像对待任何其他文本差异一样处理尾随空格,而是通过不让我 resetstash 来表现得如此奇怪?这种行为是可配置的吗?

最佳答案

最有可能的是,存储库同时包含 File.txtfile.txt(如果您与使用 Linux 或 Mac 的人合作,可能会发生这种情况)。 Windows 认为这是同一个文件,因此工作目录中只会存在其中一个,而 git 会一直认为另一个被更改。

要检查这是否真的是问题所在,请运行此命令:

git ls-tree -r HEAD

并在同一目录(或具有不同大小写的目录)中查找具有不同大小写的文件。

解决此问题的最简单方法是让其他平台上的人删除或重命名任一文件。

(如果您的项目以某种方式依赖于同时拥有这两个文件,解决方案是重新考虑该要求或从 Windows 切换...)

关于git - 无法从工作目录中删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29243207/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com