3

在 linux 上使用 git 1.7.10 我试图在大约 100 个提交的分支上使用 git rebase -i。我经常但并不总是遇到这个问题:

在我指出我想要进行哪些更改之后......例如。我只是在上游部分附近做了一个改写,git 继续运行并在应用提交时在命令行中显示一个计数器:比如 [17/100] ...

这通常应该是一个非常顺利的操作,但通常它会在某个地方停在中间说:

[分离 HEAD 5e1a3c8] 提交消息
作者:用户名
1 个文件已更改,14 次插入(+),3 次删除(-)
致命:无法创建“/[存储库路径]/.git/index.lock”:文件存在。

无法应用 05e6b8ef 其他提交消息

当我运行 git rebase --continue 时,我会看到当前提交的提交消息,当我关闭文件时,git rebase 会继续,但它忽略了该提交......这是非常没用的,所以目前我只做 --abort,但这是一种痛苦……

也许可以手动提交有问题的提交,然后 --continue,但我还没有研究过。

无论如何,当我去检查 index.lock 不存在时。也许它存在于 git 想要创建它的那一刻,但在我可以用文件浏览器查看它之前它肯定被删除了......

ps:如果我在变基时没有打开 gitg,我似乎无法重现这一点。

有什么线索吗?

更新:更新到 gitg 2.6 似乎已经解决了这个问题

4

1 回答 1

3

创建该文件是为了确保两个客户端在使用同一个存储库时不会相互干扰。我曾经用 torgoisegit 遇到过这个问题。它也可能在其他时间发生,只是交互式变基是一项相当密集的操作,所以你更有可能击中它。在你做你的变基之前,关闭 gitg 和任何其他客户端。

于 2012-04-26T20:49:59.243 回答