git - SourceTree 暂存错误

标签 git version-control bitbucket unity3d atlassian-sourcetree

在过去 6 个月左右的时间里,在使用 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.

If no other git process is currently running, this probably means a git process crashed in this repository earlier. Make sure no other git process is running and remove the file manually to continue.

我知道其他问题,例如 this一个并尝试了我认为是关于人们建议解决这个问题的一切。为了安全起见,我将与大家分享我尝试过但没有奏效的方法。

  1. 这个错误似乎很明显——删除 index.lock 文件。问题是我没有。我什至通过 stash 的 .git 文件夹和命令提示符使用以下命令创建并删除了它:

cd .git

del index.lock

通过命令行没有找到文件,直到我创建了一个并删除它也无济于事。我尝试了从链接帖子中找到的其他命令行命令,但它们都不起作用。

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

  2. 我多次关闭 SourceTree 并重新打开它,因为这为很多人修复了它。

  3. 然后我将整个文件夹设置为非只读,因为它帮助了不同的用户。

  4. 然后我继续并完全卸载了 SourceTree - 同样的问题。

  5. 然后我重新启动了我的机器,因为这也是对某些人的修复。

  6. 我读到可能是 Visual Studio 源代码管理给我带来了问题,所以我按照这些步骤无济于事。

Go to: Tools > Options > Source Control

Select Current source control plug-in as: None

  1. 然后我想我会尝试一个不同的项目,发现它们也坏了(我有 4 个不同的项目,它们现在都坏了,无论何时我尝试上演任何东西我都会遇到同样的错误)。

  2. 现在一片困惑,我决定一劳永逸地解决这个问题。我删除了我拥有的每一个 SourceTree 项目,并删除了我的本地项目。然后我继续创建一个新的 git repo,将其导入 BitBucket,然后再次卸载并重新安装 SourceTree。这是我能为“重新开始”做的最好的事情。然后,我将保存了未提交更改的复制的 Unity 项目复制到空的本地克隆项目中的 Assets 、库和项目设置文件夹。在 Unity 中将版本控制设置为可见元文件并强制文本,然后将这些文件提交到我全新的 emtpy 存储库中,但错误仍然存​​在。

我知道之前有人问过类似的问题,但我相信我已经尽我所能并涵盖了所有最可能的修复方法。

当我尝试暂存时,我收到带有红色条的错误消息,然后只有在手动点击关闭按钮后,我才会看到一条消息,上面写着“取消暂存文件”,带有绿色条和“已成功完成”。我观察了打开的 .git 文件夹,注意到虽然 SourceTree 尝试暂存它,但它确实会短暂地创建 index.locked 文件,但它总是在创建后很快就删除它(我们说的是几毫秒内它就消失了)。

我正在使用 SourceTree 版本 1.9.6.0,我在 4 日(2 天前)更新到它,当晚和第二天早些时候它工作得很好。我在 5 号晚上在 Unity 中做了几个脚本和场景更改,但从那以后就没有用了。我在 Windows 10 上,使用 Unity 5.0.4f3。

如有任何帮助,我们将不胜感激。

最佳答案

今天升级后我遇到了确切的问题 - 准确无误 - 并尝试了与您完全相同的步骤。没有任何效果。所以我在这里找到了旧版本的源代码树:

https://www.sourcetreeapp.com/update/windowsupdates.txt

我回到了 1.8.3,它现在运行良好。

https://downloads.atlassian.com/software/sourcetree/windows/SourceTreeSetup_1.8.3.exe

1.9.5 可能可以,但我觉得回到 1.8.x 更安全

关于git - SourceTree 暂存错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38805017/

相关文章:

Git-远程 : Repository not found

git - 如何在给定标签处添加浅 git 子模块

css - 连续文件损坏包含 Django 元素的多个 GIT 存储库

git - 如何在 gitlab markdown 中引用分支?

version-control - 如何通过命令行从CVS获取新添加文件的特定修订版?

Python 2+3 兼容代码 : Should I avoid six?

git - 如何解决 pull 请求中的冲突?

git 和空文件夹

git - BitBucket 无法推送, "fatal: The remote end hung up unexpectedly"

git 服务器端 'update' Hook 在 bitbucket 中