此存储库中似乎正在运行另一个git进程


666

我正在尝试学习如何使用Git,并创建了一个带有HTML,CSS和Javascript文件的小项目。我从基本上是空的项目中创建了一个分支,然后对代码进行了一些更改。我尝试分阶段进行更改,但收到以下错误消息:

Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.

当然,我确实遇到了问题,试图更早地提交我的空项目,并且退出了git bash,因为我不知道如何摆脱我的困惑。

有什么办法可以解决此问题,还是应该只启动一个新的存储库?


1
似乎肯定有另一个进程正在运行rn,可能在另一个终端选项卡中?
Vincent Rodomista

打开任务管理器,看看还有什么正在运行。如果已经安装了Process Explorer,那么您可能也会使用它。
Tim Biegeleisen

尝试使用git bash,命令行或GUI,然后您可以解锁锁定的git
SalindaKrish

Answers:


1287

尝试删除index.lock目录中的.git文件。

rm -f .git/index.lock

当您git同时执行两个命令时,通常会发生此类问题。也许一个来自命令提示符,另一个来自IDE。


7
我收到以下错误消息:rm:无法删除“ .git / index.lock”:设备或资源繁忙
Yuvraj Patil

8
rm -f .git/index.lock
威廉·汉普郡

对于CocoaPods,请尝试删除Podfile.lock
LinusGeffarth

1
也为我工作,谢谢。我不知道为什么这个答案还没有被标记为接受。命令顺序:1)查找| grep'\ .lock $'2)rm -f ./.git/index.lock
Ankush

4
如果没有index.lock文件,请检查HEAD.lock·删除它为我解决了问题。
Daniel Shatz

64

在应用程序的根目录中使用以下命令。这将删除index.lock文件并释放活动锁。

rm .git/index.lock

我还必须关闭Sublime-Text,因为它具有git插件。另一个连接到git的IDE可能有相同的问题
尼克·卡拉威

31

删除我的提交消息对我有用。

rm .git/COMMIT_EDITMSG

然后说。

致命:无法锁定参考'HEAD':无法创建'.git / refs / heads / [您的分支名称] .lock':文件存在。

请注意,您的分支名称可能与我的不同。您可以通过执行以下操作删除此锁定文件:

rm .git/refs/heads/[your-branch-name].lock

希望这对某人有帮助。


3
这就是帮助我的原因,其他答案对我没有任何帮助。
CodyMace

1
当我尝试在后台提交docker-compose时,此方法有效。
John Spiteri


8

这发生在我身上,尽管sourcetree一直告诉我锁定文件存在,但没有可删除的文件。因此,我刚刚签出了另一个分支,然后返回到原始分支,并注意到此更改解决了该问题。


7

它与上述方法类似,但在我的情况下,我有几种方法

.git/refs/heads/<branch_name>.lock

并能够通过这种方式一次删除所有

find -name "*.lock" -exec xargs rm {} \;

4

对我来说,问题很简单,它在源代码树中,所以我不确定它将在常规解决方案中应用多少,但是我偶然选择了我的master分支来尝试进行提交而不是未提交的更改。

通常这不是问题,但是我已经抢先输入了一条提交消息,因此我可以跟踪自己正在进行的那一次短跑的状态。

基本上,我在未提交的分支上启动了提交,而无意间尝试在我的master分支上启动了另一个提交。


4

如果您使用的是CocoaPods,并且有时破坏了更新或安装(手动将其杀死),请尝试

1)删除index.lock文件(在中.git/index.lock

2)删除Podfile.lock文件。

3)做一个新的 pod update

4)尝试发出失败的git命令(在我的情况下是git add .



3

您的分支可能已损坏,请创建新分支git branch #check分支。我创建了一个新分支并开始工作。

branch -b "main"
git checkout -b "main"  #main is new branch
git add .
git commit -m "all files"
git remote add origin #**YOUR REPO**  https://github.com/tarun-techmarbles/wp-dump-sql-git-push.git
git push origin main  #push with new branch 

3

尽管上面有替代方法,但这并不能解决我的问题。就我而言,我删除了./zshrc中的“ git”插件并重新启动计算机,然后问题消失了,我猜zsh插件做了一些与原始git命令冲突的事情。


3

我在时收到此错误pod update。我通过删除解决它index.lock在文件cocoapods.git目录。

rm -f /Users/my_user_name/.cocoapods/repos/master/.git/index.lock

它可能会帮助某人。


2

如果您正面临该存储库中另一个git进程正在运行的情况,请使用以下命令,例如,由“ git commit”打开的编辑器。请确保所有进程均已终止,然后重试。如果仍然失败,则可能是该存储库中的git进程更早崩溃了:手动删除文件以继续。

rm -f .git / index.lock

git reset 和reset命令后使用git status,git add和git commit -a或git commit -m“您的消息”,git push origin master。


2

rm -f .git/index.lock没有帮助,因为我有一个无法删除的锁定文件。因此,index.lock也已被某些应用程序捕获。

我下载了Unlocker的替代方案,称为Lock Hunter,并删除了两个文件。Git抓住了他们。


2

当我尝试在SourceTree中暂存文件时,我也面临着同样的问题。

要解决此问题,请转到项目目录中的.git文件夹,然后手动删除index.lock,即可完成操作。


实际上,我在SourceTree中发现通常只需等待几秒钟然后重试即可。
马特

2

万一可以帮助别人...我尝试了命令行rm -f .git/index.lock,但没有用(终端没有显示任何错误)。我只是直接转到文件夹.git并删除index.lock文件。

注意:.git文件夹位于您的根存储库中,并且已隐藏。在mac:Cmd+ Shift+ .中查看隐藏的文件。



2

index.lock在此处删除:

<path to your repo>/.git/index.lock

另外,如果您的存储库包含子模块,请index.lock在此处也删除所有子模块:

<path to your repo>/.git/modules/<path to your submodule>/index.lock

1

我尝试删除,.git/index但是没有用,最终我卸载了go并删除了所有带有go名称的文件夹,然后再次安装go并完成了工作!


1

对我而言,出于任何原因:

rm .git/index.lock

无效,因此我只是转到.git文件并手动将其删除,效果非常好。


这个答案和接受的答案有什么区别?
J. Doe

0

只是为了澄清,对于那些想知道为什么rm和del的人。

rm .git/index.lock - on a unix/linux system
del .git/index.lock - on a windows cmd prompt

您可以添加-f强制执行有效的操作。


0

我遇到了同样的问题。我不得不做更多的事情来解决这个问题。首先,我删除了,index.lock然后从现有的git存储库位置克隆了新代码。我在单独的位置进行了代码更改。我对.git文件夹和.gitignore文件进行了风管处理,然后将其粘贴到更改代码的代码文件夹中。然后,我尝试进行提交和推送,它运行顺利。如果上述问题没有解决您的问题,那么这种改进可能会有所帮助。


0

使用SourceTree存在相同的问题。但是我的主机上根本没有任何index.lock文件。我找到了packed-refs.lock文件,并将其删除后,问题已解决。


0

我遇到了同样的问题,问题是我试图xml用大小为1.3gb 的文件(用作数据集)推送代码,所以我将这些文件添加到文件中.gitignore,然后问题解决了


0

如果您根据问题的标题在此处结束(“此存储库中似乎正在运行另一个git进程”),请注意,如果此问题的标题中的消息前面有另一条消息,例如,接受的答案将不直接适用于您下面的一个:

fatal: cannot lock ref 'HEAD': Unable to create '/<PATH>/<TO>/<REPO>/.git/refs/heads/<BRANCH>.lock': File exists.

在这种情况下,您应该删除该文件(.lock)而不是.git / index.lock

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.