当我做'git commit'时,我得到以下内容:

无法创建“project_path/.git/index”。lock `:文件已存在。

然而,当我执行ls project_path/.git/index。锁定,表示文件不存在。你觉得我该怎么做?我还注意到project_path/。git由root拥有,不确定这是否与我遇到的问题有关。

Git版本为1.7.5.4

编辑:看起来问题很可能是我正在运行的另一个进程,那就是向项目目录写入(我不知道)。我重新启动了我的电脑,然后我就没有问题了。


当前回答

在运行Visual Studio 2015 RC (v4.6.00057)并结合SourceTree (v1.6.14.0)的Windows平台上,也会给出此错误。

解决方案: 假设你想使用源代码树作为源代码管理器,只需在Visual Studio中禁用源代码控制提供程序,如下所示:

转到:工具>选项>源代码控制 选择“当前源控制插件”为:无

其他回答

除非你真的打算让根用户拥有你的repo,否则这听起来像是你意外地以根用户身份运行了Git命令(甚至可能是初始的clone/init)。如果您打算这样做,那么您将不得不以根用户身份在repo中运行所有Git命令。如果没有,运行sudo chown your-user[:your-group] -R .git来获得它的所有权,然后看看事情是否正常。

首先,你必须导航到你的项目的特定文件夹。 比如,如果你的项目名称是Firstproject,那么首先进入项目的目录。 然后输入CD .git 然后在导航到git文件夹后,键入del index.lock 在删除文件index.lock..之后,你将能够像以前一样提交和推送

这是当你取消从中间的原点开始拉时发生的。

你可以手动删除索引。锁定文件从你的。git目录。

rm -f ./.git/index.lock

CD到您的项目目录并运行此命令。

有时,当安装了多个Git客户端时,另一个Git客户端可能会干扰。

Ie。通过任务管理器或Get-Process确保TortoiseGit中的TGitCache在后台不活跃。

获取错误:

Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
fatal: Unable to create '/home/user/project/.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.

但是我找不到(也没有删除)那个。git/index。锁文件。

在我的情况下,吉特可乐正在运行!

它显然创建了。git/index。每隔一段时间就会锁一次,或者是由于我在命令行上所做的更改而导致的,在此期间我收到了这个错误-所以Git -cola显然会“干扰”Git的命令行运行(或一些Git CLI操作)。

这可以通过在命令行git rebase期间关闭git-cola来解决。