Git 拉取后本地标记为已删除的文件

Git file locally marked as deleted after pull

今天开始出现一个问题,我们的一个分支机构表现得很奇怪。 如果分支被拉出,一个文件被标记为,并被删除,作为一个未暂存的更改。与分支的服务器版本相比,这个文件肯定存在。

如果我对文件执行 git 签出,当然会撤消删除。 如果我进一步删除该分支的本地版本并进行另一次拉取,则同一文件不会被标记为删除。

此文件的最新更改是在三个多月前。几天前的最新提交。每晚 CI-管道已经 运行 正常。

我们正在使用 Azure DevOps 和所有包含的功能,例如使用多个代理构建管道,et.c,et.c。

有什么线索吗?

我应该补充一点,这导致了巨大的问题,因为我们的构建从今天起无法再 运行。因为构建步骤拉分支 -> 得到相同的删除标记 -> 构建解决方案失败。

发生以下情况,从完全干净、无关且无任何更改的结帐:

git checkout <corrupt branch>
git status

如果我们在结帐之前或之后拉出分支,我们会得到相同的结果,其中损坏的分支尚未完全同步的本地人。

编辑,我们注意到:

警告:以下路径发生冲突(例如区分大小写的路径 在不区分大小写的文件系统上)并且只有一个来自同一个 碰撞组在工作树中:

<小写文件夹/.../>

未对文件夹路径或文件进行更改。数百个项目使用此路径。其中只有一个认为路径已被复制。 有什么想法吗?

问题确实是大小写不敏感。最大的问题是没有任何历史记录表明这条道路在不断变化。很明显发生了一些变化。

事实证明,我们的一位开发人员已将此文件准确移动到小写路径。在与问题出现的位置无关的 branch/build 中。

它显示了我们现在已更正的隔离代理池中存在泄漏构建和脏工作区的一些问题。我们还关闭了提交仅大小写不同的路径更改的功能。幸运的是它相当孤立。

找到解决方案后感觉很愚蠢.. 你边生活边学习。