Windows 上的 Git Bash - 致命:无法创建“C:/Users/scharko00/Documents/GitHub/myProject/.git/index.lock”:没有这样的文件

Posted

技术标签:

【中文标题】Windows 上的 Git Bash - 致命:无法创建“C:/Users/scharko00/Documents/GitHub/myProject/.git/index.lock”:没有这样的文件或目录【英文标题】:Git Bash on Windows - fatal: Unable to create 'C:/Users/scharko00/Documents/GitHub/myProject/.git/index.lock': No such file or directory 【发布时间】:2022-01-22 19:02:04 【问题描述】:

我在 Windows 上的 git bash 遇到了一个奇怪的问题,我不知道如何解决这个问题。

我正在使用 Github Desktop 和 Visual Studio 2022,并在 Github 桌面上完成大部分 git 工作。现在我有一个问题,我需要使用 git rm file.txt --cached 从 repo 中删除一个文件。所以我打开 git bash 并尝试这样做,但 git 响应:

fatal: Unable to create 'C:/Users/scharko00/Documents/GitHub/myProject/.git/index.lock': No such file or directory

请注意“没有这样的文件或目录”。 .lock 文件卡住并且git响应“文件存在”是一个常见问题,在inet上有很多解决方案。

经过一些实验(在提升模式下运行 git bash,创建一个虚拟 index.lock,切换到 powershell,使用 git cmd,...)我发现 git 在所有命令上都给我同样的错误。

因此,如果我尝试签出现有分支(或添加文件或创建新分支),同样的错误。

但如果我使用 Github Desktop,一切正常。

对我来说,git 似乎缺少一些安全设置,但我就是不知道是哪一个。

非常感谢任何提示或想法。

Screenshot Git Bash

【问题讨论】:

【参考方案1】:

前言

    Windows 上的 Git-Bash(仍然)总是 坏主意 (tm)。您必须改变习惯,为您的环境使用更多原生工具 我假设,这是相当普遍的所有者|权限|ACL问题,建议检查一下这个假设|推测

找到并记录这些问题的答案(逐步),甚至是显而易见的:

    C:/Users/scharko00/Documents/GitHub/myProject/.git/ 存在吗? 就本地 Windows 用户而言,C:/Users/scharko00/Documents/GitHub/myProject/.git/ 的所有者是谁以及为此子树定义了哪些权限(文件夹属性 - 安全 - 组+权限部分)? 您的控制台在哪个 Windows 用户下运行以执行 git 命令(Git 继承了该用户)? (!scharko00 || !Administrator Group)无权写入C:/Users/scharko00/Documents/AFAICR

不管怎样,对于 SU 来说,这比对于 SO 来说更重要,问题 IMNSHO

【讨论】:

以上是关于Windows 上的 Git Bash - 致命:无法创建“C:/Users/scharko00/Documents/GitHub/myProject/.git/index.lock”:没有这样的文件的主要内容,如果未能解决你的问题,请参考以下文章

致命:无法访问“H:\/.config/git/config”:参数无效 [Windows 7 上的 Git]

如何在 Windows 上的 Git Bash 中退出“git diff”的结果? [复制]

我可以在 Windows 上的 Git Bash 中使用 gcloud 吗?

设置 git bash 以使用 Windows 上的选项卡

sh 使用Windows上的Git Bash通过命令行打开WebStorm文件。

无法在 Windows 上的 Git Bash 中安装 pylint(Windows 应用商店)