gitkraken存储库上出现“找不到兼容的存储库”错误

时间:2019-04-10 07:14:04

标签: git gitkraken

我有一个已经使用了多年的存储库,可以通过GitKraken使用。我只是使用CLI为存储库分配了标签(使用代码git tag -a v0.7.1 -m "my version 0.7.1" ea27f3b3ab882e58cbb5995f5d8638a200676a43然后是git push --tags),然后GitKraken将不会打开它。它说那里没有存储库,并询问我是否要初始化新的存储库。

我的其他任何存储库都没有问题。另外,此存储库可从命令行正常运行。我尝试手动删除该文件夹,然后从同一位置的github再次克隆它,但这没有帮助。我也在本地尝试过git reset --hard,但没有用。某些google搜索会在深度嵌套的文件中显示诸如长路径名之类的东西,但我没有(而我在MacOS而非Windows上)。

有什么想法吗?

4 个答案:

答案 0 :(得分:2)

当我尝试打开存储库时遇到了相同的错误。当我尝试克隆任何存储库时,我收到消息:

“ C:/用户/用户名/.gitconfig”:访问被拒绝

我删除了文件,现在两条消息都消失了。

尝试此操作的任何人都应将文件保存在其他地方,以防万一。

答案 1 :(得分:0)

此问题已由GitKraken团队的Jake解决,原因是GitKraken的懈怠。如果将来有帮助,我将在此处发布解决方案。

看来我的存储库中有两个格式错误的ref,一个是我的master分支,另一个是我上面提到的v0.7.1标记。删除标签和master分支即可解决此问题。

答案 2 :(得分:0)

为解决此问题,我使用了Visual Studio代码,在IDE上将其打开,并使用扩展名提交了文件夹中的所有文件。 这是找到的解决方案的链接The link to a website

答案 3 :(得分:0)

我刚刚在使用 GitKraken 时遇到了同样的问题。即使它会加载存储库并让我暂存和浏览提交,它也会继续显示此“兼容存储库”消息。然而,大约一分钟后,它会卸载 repo 并开始尝试再次加载它,但只是挂起尝试加载。其他工具(Giggle、gitg、git-gui 和 git CLI)似乎都运行良好。

解决方案

深入挖掘我发现,显然,我的 reflog 中的某些内容已损坏。您可以检查 .git/logs/refs/heads/*.git/logs/refs/remotes/*/* 中的文件是否有任何看起来非常不寻常的行。所有的行看起来都应该非常相似(from-hash、to-hash、timestamp、user、message,等等)。我日志中损坏的行有很多奇怪的符号,并且是其他行长度的 4 倍。很明显。

我还发现了一些零字节对象,这不应该是。这些是临时文件,本应填充数据或删除,但由于...原因而没有。可以安全地删除它们。

find .git/objects -size 0 -type f -delete

核选项

为了让我的 GitKraken 再次工作,我需要使用核选项。

好的,如果您仍然遇到问题并且确定您的引用日志中不需要任何内容​​,包括您的存储,您现在可以将其全部过期并清理(垃圾收集)悬空参考:

git reflog expire --expire=now --all
git gc --prune=now

好吧,我想还有一个更极端的步骤,你可以删除 repo 并重新克隆,但你会丢失所有本地分支、隐藏和未推送的提交。我不同意。