ChatGPT解决这个技术问题 Extra ChatGPT

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

git

我正在尝试学习如何使用 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 时确实遇到了问题,因为我不知道如何摆脱我已经到达的地方。

有什么办法可以解决这个问题,还是我应该开始一个新的存储库?

似乎肯定有另一个进程在运行 rn,可能在另一个终端选项卡中?
打开任务管理器,看看还有什么正在运行。如果您安装了 Process Explorer,您可能还可以使用它。
尝试使用 git bash、命令行或 GUI 然后你可以解锁锁定的 git

A
Aakash

如果您在工作树中,请尝试删除 .git 目录或 worktrees .git/worktrees/*/index.lock 之一中的 index.lock 文件。

rm -f .git/index.lock

当同时执行两个git命令时,通常会出现此类问题;可能一个来自命令提示符,一个来自 IDE。


我收到以下错误:rm: cannot remove '.git/index.lock': Device or resource busy
rm -f .git/index.lock 删除
对于 CocoaPods,请尝试删除 Podfile.lock
也为我工作,谢谢。我想知道为什么这个答案还没有被标记为已接受。命令序列: 1) find | grep '\.lock$' 2) rm -f ./.git/index.lock
如果那里没有 index.lock 文件,请检查 HEAD.lock· 删除它解决了我的问题。
M
M.J

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

rm .git/index.lock

我还不得不关闭 Sublime-Text,因为它有一个 git 插件。另一个连接到 git 的 IDE 可能有同样的问题
根据我的经验,删除 .lock 文件非常危险,我丢失了所有未提交的工作
I
Ibn Rushd

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

rm .git/COMMIT_EDITMSG

随即说道。

致命:无法锁定 ref 'HEAD':无法创建 '.git/refs/heads/[your-branch-name].lock':文件存在。

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

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

希望这可以帮助某人。


当我尝试在后台使用 docker-compose up 提交时,这很有效。
M
Matt Corby

好的,我最终通过运行'$ git rm .git/index.lock'让它工作......这很奇怪,因为我之前做过几次无济于事,但是嘿电脑对吗?


此处无需使用 git rm,只需 rm 即可。 index.lock 不是要被 git 跟踪的文件。
I
INDRAJITH EKANAYAKE

如果您是 windows 用户,则会出现错误 'rm' is not recognized as an internal or external command。那是因为 rm 是一个 Linux 命令。因此,在 Windows 中,您可以使用以下命令删除 .git 文件夹中的 index.lock 文件

del -f .git/index.lock

在 Windows 中不适合我!无法识别参数“f”。
如果您这样做,Windows 有时会给您一个“Invalid Switch” 错误。建议使用反斜杠 (\) 而不是正斜杠 (/) 以避免这种情况。即del .git\index.lock
@WilliamDewayneCorrinIII 感谢您对“无效开关”场景的投入......它节省了我的时间。 :)
根据我的经验,删除 .lock 文件非常危险,我丢失了所有未提交的工作
A
Alex Sed

这发生在我身上,虽然 sourcetree 一直告诉我锁定文件存在,但那里没有这样的文件可供我删除。所以我只是检查了另一个分支,然后返回到原来的分支,并注意到这个更改解决了这个问题。


A
Akif

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

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

并且能够通过这种方式一次全部删除

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

c
cumanzor

如果您正在使用 CocoaPods 并且在某些时候搞砸了更新或安装(手动杀死它或其他东西),请尝试

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

2) 删除您的 Podfile.lock 文件。

3) 做一个新的pod update

4) 尝试发出失败的 git 命令(在我的例子中是 git add .


它正在删除我丢失的 Podfile.lock。谢谢
N
Naveen Tiwari

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

rm -f .git/index.lock

git reset 和 reset 命令后使用 git status、git add 和 git commit -a 或 git commit -m "your message", git push origin master。


N
Noor Ul Ain

这也可能来自另一个使用 git 的应用程序或插件,例如源代码树。就我而言,似乎一些关于 git 的进程卡在了 sourcetree 中。所以删除 index.lock 文件只对我不起作用。我想删除项目目录中 .git 文件夹中的 sourcetreeconfig 并且它有效。

rm -rf .git/index.lock
rm -rf .git/sourcetreeconfig

V
Vrezh Gulyan

对我来说,问题更简单,这是在源代码树中,所以我不确定它将在多大程度上适用于常规解决方案,但我不小心选择了我的主分支来尝试提交而不是我未提交的更改。

这通常不是问题,但我已经预先输入了一个提交消息,这样我就可以跟踪我在那个小冲刺中做了什么。

基本上,我在未提交的分支上开始了提交,并且不小心试图在我的主分支上开始另一个提交。


M
Manabu

在此处删除 index.lock

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

此外,如果您的存储库有子模块,请同时删除此处的所有 index.lock

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

子模块部分是我需要的
根据我的经验,删除 .lock 文件非常危险,我丢失了所有未提交的工作
T
Tarun Sharma

您的分支可能已损坏创建新分支 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 

B
Brady Huang

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


H
Haseeb Iqbal

我在 pod update 时收到此错误。我通过删除 cocoapods.git 目录中的 index.lock 文件解决了这个问题。

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

它可能会帮助某人。


f
frank3stein

错误代码将为您提供文件的完整路径,复制该路径并删除文件

例如

fatal: Unable to create '/Users/username/Development/project/.git/index.lock': File exists.

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.
rm -rf fullPathOftheFile
rm -rf /Users/username/Development/project/.git/index.lock

M
Mayoogh Girish

如果您在 PowerShell 上,请使用

rm -Force .git/index.lock


我也可以使用“-Force”标志来解决这个问题。系统在“-Force”和“-Filter”之间抛出了模棱两可的错误。
M
MD SHAYON

我们可以通过删除 .git/ 目录中名为 index.lock 的文件来修复此错误:

rm -f .git/index.lock

这将清除 Git 索引上的缓存,以便您可以运行另一个 Git 命令。我们不需要使用 git rm 命令,因为 index.lock 不是我们跟踪的存储库的一部分。 index.lock 是一个隐藏的 Git 配置文件。让我们再次尝试提交我们的代码:

git add .

git commit

M
MayankD

当我尝试在 SourceTree 中暂存文件时,我遇到了同样的问题。

要解决此问题,请转到项目目录中的 .git 文件夹并手动删除 index.lock ,您就完成了。


实际上,我在 SourceTree 中发现通常等待几秒钟再试一次就足够了。
C
Chloe Corrigan

对我来说,解决方案就像关闭我的 IDE 然后签出一样简单。我的一个队友接受了我的 PR 并通过 TFS 合并了代码。删除 .lock 文件不起作用。


V
Vladimir

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


C
CoolMind

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

在 Windows 中,我下载了 Unlocker 的替代品 Lock Hunter 并删除了这两个文件。 Git 捕获了它们。


A
Abhishek

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


D
Dulanga Heshan

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


N
Najathi

它对我有用,我得到了同样的错误。

删除 Windows 10 上的 HEAD.lock 文件。现在我可以远程提交和推送我的更改。


S
Suraj Rao

第一次运行

rm -f .git/index.lock

然后运行

git reset --hard

在您的命令提示符或 git bash


L
LMB

我正在使用 PyCharm IDE。

rm -f .git/index.lock

上面的命令不起作用,而是尝试下面的命令

rm -force .git/index.lock

PyCharm IDE terminal screenshot

PyCharm IDE terminal screenshot


d
derekbaker783

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

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

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


J
Jawa

我的 Mac 很慢,所以我运行了 2 个 git 提交:一个执行,第二个被第一个阻止。

我试过 rm -f .git/index.lock rm .git/refs/heads/[your-branch-name].lock

rm .git/refs/heads/[你的分支名称].lock

<你的仓库的路径>/.git/index.lock

<你的仓库的路径>/.git/modules/<你的子模块的路径>/index.lock

@安库什:

查找 | grep '\.lock$' rm -f ./.git/index.lock 这对检查很有用 - 没有 .lock 文件潜伏

我做了@Chole 所做的事情——退出我的 IDE 并再次查看 git-status。然后运行 $git add . $git commit -m'msg' $git push

它清除了正在运行命令的 2 个终端并解决了问题。希望这对某人有所帮助 - 诊断很好,所以谢谢大家,非常有帮助。

一个缓慢的 Mac 之前已经导致了这个问题 - 所以现在我在运行与第一个冲突的第二个提交之前稍等片刻。


h
hatanooh

在我的情况下,只需运行命令:yarn add commitizen -D,然后一切正常!