我在Windows 7上安装了一个Cygwin .Git工作很好,直到几天前提交刚刚停止工作.这是一个全新的回购日志:
wt@CO /cygdrive/u/Projects
$ mkdir Temp
wt@CO /cygdrive/u/Projects
$ cd Temp/
wt@CO /cygdrive/u/Projects/Temp
$ touch Hello.txt
wt@CO /cygdrive/u/Projects/Temp
$ git init
Initialized empty Git repository in /cygdrive/u/Projects/Temp/.git/
wt@CO /cygdrive/u/Projects/Temp
$ git add .
wt@CO /cygdrive/u/Projects/Temp
$ git commit -m "hi"
error: invalid object 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 for 'Hello
.txt'
error: Error building trees
Run Code Online (Sandbox Code Playgroud)
我谷歌的地狱,无济于事.这里发生了什么?
Cygwin git似乎是使用"create-temp-file-then-hardlink-to-destination"方法创建新的目标文件.我认为cygwin的硬连接很混乱!
底线:使用以下方法解决:
git config --add "core.createobject" rename
Run Code Online (Sandbox Code Playgroud)
(我的设置是Cygwin git,在samba上运行.git目录)
问题表明回购正在工作,但它们神秘地崩溃了。该错误似乎表明内部 git 树对象存在文件系统读取问题。查看/cygdrive/u,表明这可能是映射的网络驱动器。
尝试在本地驱动器上运行 git 以确认网络共享正常工作。
不幸的是,我没有任何确切的信息导致失败。您的网络共享可能不支持 git 期望可用的文件系统功能。