我每小时都会收到一条消息:
错误:索引文件sha1签名错误 致命:索引文件损坏
我已经在线查看并知道如何解决它,但试图找出导致它的原因。
我在服务器上使用命令行工具,但在我的本地计算机上安装了目录(通过sshfs)。但我不使用本地git,只使用远程服务器上的版本。
我能想到的另一件事是IntelliJ,但是我停止使用git命令认为它导致了冲突。
有没有人知道问题可能是什么?
答案 0 :(得分:1)
我不使用本地git,只使用远程服务器上的版本。
我在那里打赌你的问题。
在你的回购中做你的工作。当你的工作形状适合发布时,推送到服务器仓库。如果您想分享您的在制品,请参阅例如Git push/pull between team members local repositories
(编辑:你正在使用sshfs
。对于任何一点多用户而言,请不要这样做。它是FUSE
的单用户便利sftp
前端。甚至如果你关闭它仍然无法关闭比赛的缓存。)
答案 1 :(得分:0)
除非您找到直接解析Git index file的方法,否则请运行以下命令,从存储库中的.git
目录中删除Git索引文件并“take the current branch and reset it to point somewhere else, and bring the index and work tree along”(但之前,请记住备份.git/index
以防万一):
$ rm .git/index
$ git reset
答案 2 :(得分:0)
如果您在远程服务器位置安装了git,该位置也充当IntelliJ项目的根目录,那么您将在git上进行锁争用。 IntelliJ会不断破坏你的git索引,因为你也可能(例如)在终端会话的命令行中使用你的repo中的git。
解决方案是通过转到设置>取消注册IntelliJ软件中的任何版本控制。版本控制并从该列表中删除您的项目。这应该告诉你的IDE完全忽略该项目根文件夹中git的存在,并永远停止竞争控制git索引。