Git:致命的:'sha1文件'上的fsync错误:错误的文件描述符

mop*_*ped 4 windows git

我正在将VS Code与Git一起使用-它位于可移植位置C:\ _ DEV \ bin \ git,并且也添加到Windows PATH中,因此在没有遥控器的情况下也可以正常工作。

我有一个OneDrive _GIT文件夹,其中有一些“远程”存储库,可以在2台设备之间进行同步(有时,我在那里主要是出于备份目的)。

当我要提交更改时出现错误,“修复”此问题的唯一方法是重新启动计算机,因此我想找到一种方法来正确修复它。问题是,它并不总是出现,也不是对所有存储库来说都是随机的。

我认为这是因为OneDrive之间的同步。我可以运行一个命令来修复文件描述符吗?还是其他预防方法?

git remote --verbose
git ls-tree -l HEAD -- a:\new\theme\assets\sass\main.scss
git show 97a333c5e7fce816dbb46a5c1235d69e61836726
git show HEAD:theme/assets/sass/main.scss
git add -A -- a:\new\theme\assets\sass\main.scss
fatal: fsync error on 'sha1 file': Bad file descriptor
Run Code Online (Sandbox Code Playgroud)

Whe*_*ism 6

我最近经常遇到这个错误,上面的答案有所帮助,但另一件事似乎也是导致它的原因是 VS 本身正在运行。

尝试关闭 VS,然后从资源管理器中执行“Git Bash Here”并仅使用命令行。

完成后您可以重新打开 VS。


RaS*_*Sor 5

感谢@ edward-thomson。
我在PC上遇到了同样的问题,我将homedrive下的文件夹映射到E:

C:\Users\myuserid\E-Folder\SomeGitProject
Run Code Online (Sandbox Code Playgroud)

通过共享文件夹,所以我可以将其快捷方式

E:\SomeGitProject
Run Code Online (Sandbox Code Playgroud)

解决方案是在CMD中使用完整路径,或者使用从git bash到homedrive的快捷方式:

~/E-Folder/SomeGitProject
Run Code Online (Sandbox Code Playgroud)

我想您的A:同样是共享,您可以使用完整路径访问该路径,该路径也可能位于主驱动器下的某个位置。


Jam*_*ley 5

我发布晚了,以帮助其他人比我更快地找到解决方案。真正的罪魁祸首是难以捉摸的,我尝试了从重新安装GIT到创建新存储库的所有事情。

这是我在窗户上发生的事情,它在due to a change in permissions in a parent folder某个地方。

解决方法是简单地disconnect and remap the folder

  • 在我上一篇文章发布 5 分钟后,“fsync 错误”再次出现。我偷偷怀疑这可能与在同一存储库上同时运行 *Visual Studio* 和 *SourceTree* 有关。我过去从未遇到过这个问题。 (2认同)