【发布时间】:2020-03-25 11:42:36
【问题描述】:
我有一个安装了 LFS 并且工作正常的 Git 存储库。在我的 dev 分支上,我使用 Windows 文件资源管理器将图像文件(由 LFS 跟踪)从 NoMedal-Fade.png 重命名为 None-Fade.png。我承诺,推送到 GitLab,结果很好。
然后,在我计算机上此 repo 的另一个实例中(此 repo 位于另一个名为 production/foo 的分支上,我运行 git fetch 和 git merge origin/dev 以获取并合并我刚刚在另一个实例中所做的修改。这是我无法理解发生了什么的地方:合并失败并出现此错误:
error: add_cacheinfo failed to refresh for path '■■■■/■■■■/■■■■/■■■■/■■■■/■■■■/None-Fade.png'; merge aborting.
这在未分阶段的修改中添加了新文件:
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: ■■■■/■■■■/■■■■/■■■■/■■■■/■■■■/None-Fade.png
在我的不理解中,我尝试了git reset --hard,但文件仍然在这里。我尝试git checkout <file path>,但文件仍然在这里。我删除了实例,克隆回来,并再次尝试相同的过程,仍然是同样的问题。我试图暂存我想要的文件,提交并推送它。现在该文件不再显示在未暂存文件列表中,但由于上述相同的错误(add_cacheinfo),我仍然无法合并。最后,我的一个朋友告诉我在合并之前尝试git config core.fscache false,不幸的是,没有任何改变(全局配置相同)。
PS C:\Users\■■■■> git --version
git version 2.24.0.windows.2
【问题讨论】:
标签: git gitlab git-merge git-lfs