SourceTree 暂存错误

10

在过去的六个月中,我使用SourceTree几乎没有出现问题,但现在无法将任何文件提交到SourceTree。每次尝试提交时,都会显示以下错误消息:

git -c diff.mnemonicprefix=false -c core.quotepath=false reset -q -- Assets/... fatal: Unable to create 'E:/Users/.../.git/index.lock': File exists.

如果当前没有其他 git 进程正在运行,则可能意味着该仓库中之前的某个 git 进程崩溃了。请确保没有其他 git 进程在运行,并手动删除文件以继续。

我知道类似这个的问题并已尝试实施人们建议解决此问题的各种方法。为了安全起见,我将与大家分享我所尝试的但未能解决问题的方法。

  1. 错误信息很明显——删除 index.lock 文件。问题是我没有找到这个文件。我甚至在隐藏的 .git 文件夹和命令提示符下创建了一个文件,然后将其删除,但都无济于事。我还尝试了从链接帖子中找到的其他命令行命令,但它们也都无效。

cd .git

del index.lock

命令行没有找到任何文件,直到我创建了一个文件并删除它,但问题依然存在。

  1. 我尽力确保没有其他程序同时运行 git(没有 IDE、Xcode、Tortoise、git-cola 等)。

  2. 我多次关闭 SourceTree 并重新打开它,因为这对许多人有用。

  3. 然后,我将整个文件夹设为不是只读属性,因为这有助于另一个用户。

  4. 最后,我彻底卸载了 SourceTree——但问题完全相同。

  • 为了解决问题,我尝试重启电脑。

  • 有人说这可能是由于Visual Studio源代码控制出了问题,所以我按照以下步骤操作,但没有解决问题:

  • 依次选择:工具 > 选项 > 源代码控制

    将“当前源代码控制插件”选择为“无”

    1. 我决定尝试另一个项目,结果发现它们也都无法正常运行(我有4个不同的项目,它们现在都无法正常工作,每次我尝试暂存任何东西时都会出现相同的错误)。

    2. 现在处于完全混乱状态,我决定彻底解决这个问题。我删除了我拥有的每个SourceTree项目,并摧毁了本地项目。然后,我新建了一个git仓库,将其导入到BitBucket中,并再次卸载和重新安装了SourceTree。这是我为了“重新开始”能够做的最好的事情。然后,我将未提交更改的Unity项目复制到空的本地克隆项目的Assets、Library和Project设置文件夹中。在Unity中设置版本控制为可见的元文件和强制文本,并试图将这些文件提交到我的全新空仓库中,但错误仍然存在。

    我知道类似的问题以前已经被问过了,但我相信我已经尝试了所有可能的解决方案。

    每当我尝试暂存时,都会出现红色进度条的错误消息,只有在手动点击关闭按钮后,才会看到一个消息,上面写着“取消暂存文件”,并伴随着绿色的进度条和“成功完成”的提示。我观察了打开的.git文件夹,发现当SourceTree尝试进行暂存操作时,它确实会短暂地创建index.locked文件,但总是在创建后不久删除它(甚至可以说在毫秒级别内就会消失)。

    我使用的是SourceTree版本1.9.6.0,我在4号更新了它(2天前),那天晚上和第二天早上都能正常使用。但是在5号晚上我在Unity中进行了几个脚本和场景的更改,从那时起就无法使用了。我正在使用Windows 10,使用的是Unity 5.0.4f3。

    非常感谢任何帮助。


    1
    这个 bug 已经被多次报告了 (https://jira.atlassian.com/projects/SRCTREEWIN/issues/SRCTREEWIN-6092?filter=allopenissues)。令人难以置信的是 QA 没有发现这个问题... 可能是时候转向 GitKraken 了。 - Gero
    2个回答

    7

    谢谢jtubre!我知道我可以找到旧版本,并尝试昨晚回到1.9.5,但无济于事,尽管它在之前的几个星期里已经运行得很好。然而,看到你更进一步回到了1.8.3,我也回去尝试,终于-它工作了。如果我说自己的话,这是一个相当恼人的错误,我失去了近一天的时间尝试任何和一切。希望更多的人会偶然发现这篇文章并节省麻烦,即使其他步骤可能为他人提供足够的解决方案。再次感谢! - DPrate
    是的,这就是答案。最近SourceTree的QA非常糟糕。荒谬。不要更新! - Dominique Alexandre
    和大多数人一样,我在8月份遇到了同样的问题,于是直到今天才回到1.9.5版本,最终升级为:我已经可以使用1.9.6.1(操作系统:Win10 x64)进行暂存和提交了。 - FelipeAls

    1

    就我个人而言,我跟原帖作者有一样的问题。我最近也升级到了v1.9.6.0版本。我确认了索引文件 index.lock 不存在且可以创建,但没有尝试 DPrate 列出的其他修复方法。


    1
    看起来1.9.6.1版本已经为我解决了这个问题。另外,我正在运行Windows 7操作系统。感谢Atlassian! - Gabe Cook

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接