我正在尝试学习如何使用 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 时确实遇到了问题,因为我不知道如何摆脱我已经到达的地方。
有什么办法可以解决这个问题,还是我应该开始一个新的存储库?
如果您在工作树中,请尝试删除 .git
目录或 worktrees .git/worktrees/*/index.lock
之一中的 index.lock
文件。
rm -f .git/index.lock
当同时执行两个git
命令时,通常会出现此类问题;可能一个来自命令提示符,一个来自 IDE。
在应用程序的根目录中使用以下命令。这将删除 index.lock 文件并释放活动锁。
rm .git/index.lock
删除我的提交消息对我有用。
rm .git/COMMIT_EDITMSG
随即说道。
致命:无法锁定 ref 'HEAD':无法创建 '.git/refs/heads/[your-branch-name].lock':文件存在。
请注意,您的分支名称可能与我的不同。您可以通过执行删除此锁定文件;
rm .git/refs/heads/[your-branch-name].lock
希望这可以帮助某人。
好的,我最终通过运行'$ git rm .git/index.lock'让它工作......这很奇怪,因为我之前做过几次无济于事,但是嘿电脑对吗?
git rm
,只需 rm
即可。 index.lock
不是要被 git 跟踪的文件。
如果您是 windows 用户,则会出现错误 'rm' is not recognized as an internal or external command
。那是因为 rm 是一个 Linux 命令。因此,在 Windows 中,您可以使用以下命令删除 .git
文件夹中的 index.lock
文件
del -f .git/index.lock
del .git\index.lock
这发生在我身上,虽然 sourcetree 一直告诉我锁定文件存在,但那里没有这样的文件可供我删除。所以我只是检查了另一个分支,然后返回到原来的分支,并注意到这个更改解决了这个问题。
它类似于上述方法,但在我的情况下,我有几个
.git/refs/heads/<branch_name>.lock
并且能够通过这种方式一次全部删除
find -name "*.lock" -exec xargs rm {} \;
如果您正在使用 CocoaPods 并且在某些时候搞砸了更新或安装(手动杀死它或其他东西),请尝试
1) 删除 index.lock
文件(在 .git/index.lock
中)
2) 删除您的 Podfile.lock
文件。
3) 做一个新的pod update
4) 尝试发出失败的 git 命令(在我的例子中是 git add .
)
如果您面临另一个 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。
这也可能来自另一个使用 git 的应用程序或插件,例如源代码树。就我而言,似乎一些关于 git 的进程卡在了 sourcetree 中。所以删除 index.lock 文件只对我不起作用。我想删除项目目录中 .git 文件夹中的 sourcetreeconfig 并且它有效。
rm -rf .git/index.lock
rm -rf .git/sourcetreeconfig
对我来说,问题更简单,这是在源代码树中,所以我不确定它将在多大程度上适用于常规解决方案,但我不小心选择了我的主分支来尝试提交而不是我未提交的更改。
这通常不是问题,但我已经预先输入了一个提交消息,这样我就可以跟踪我在那个小冲刺中做了什么。
基本上,我在未提交的分支上开始了提交,并且不小心试图在我的主分支上开始另一个提交。
在此处删除 index.lock
:
<path to your repo>/.git/index.lock
此外,如果您的存储库有子模块,请同时删除此处的所有 index.lock
:
<path to your repo>/.git/modules/<path to your submodule>/index.lock
您的分支可能已损坏创建新分支 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
虽然上面有一个替代方案,但这并没有解决我的问题。就我而言,我删除了 ./zshrc 中的“git”插件并重新启动计算机,然后问题就消失了,我猜 zsh 插件做了一些与原始 git 命令冲突的事情。
我在 pod update
时收到此错误。我通过删除 cocoapods
的 .git
目录中的 index.lock
文件解决了这个问题。
rm -f /Users/my_user_name/.cocoapods/repos/master/.git/index.lock
它可能会帮助某人。
错误代码将为您提供文件的完整路径,复制该路径并删除文件
例如
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
如果您在 PowerShell 上,请使用
rm -Force .git/index.lock
我们可以通过删除 .git/ 目录中名为 index.lock 的文件来修复此错误:
rm -f .git/index.lock
这将清除 Git 索引上的缓存,以便您可以运行另一个 Git 命令。我们不需要使用 git rm 命令,因为 index.lock 不是我们跟踪的存储库的一部分。 index.lock 是一个隐藏的 Git 配置文件。让我们再次尝试提交我们的代码:
git add .
git commit
当我尝试在 SourceTree 中暂存文件时,我遇到了同样的问题。
要解决此问题,请转到项目目录中的 .git 文件夹并手动删除 index.lock ,您就完成了。
对我来说,解决方案就像关闭我的 IDE 然后签出一样简单。我的一个队友接受了我的 PR 并通过 TFS 合并了代码。删除 .lock 文件不起作用。
使用 SourceTree 有同样的问题。但是我的主机上根本没有任何 index.lock 文件。我找到了 packed-refs.lock 文件,删除后问题就解决了。
rm -f .git/index.lock
没有帮助,因为我有一个无法删除的锁定文件。因此,index.lock
也已被某些应用程序捕获。
在 Windows 中,我下载了 Unlocker
的替代品 Lock Hunter
并删除了这两个文件。 Git
捕获了它们。
我遇到了同样的问题。我不得不做更多的事情来解决这个问题。首先我删除了 index.lock
,然后我从现有的 git 存储库位置克隆了新代码。我在单独的位置更改了代码。我复制了 .git
文件夹和 .gitignore
文件,并粘贴到我进行代码更改的代码文件夹中。然后我尝试提交和推送,它运行得很顺利。如果您的问题不是上述给出的解决方案,那么这种导入可能会有所帮助。
我遇到了同样的问题,问题是我尝试使用大小为 1.3gb 的 xml
文件(用作数据集)推送我的代码,所以我将这些文件添加到 .gitignore
中,然后问题解决了
它对我有用,我得到了同样的错误。
删除 Windows 10 上的 HEAD.lock
文件。现在我可以远程提交和推送我的更改。
第一次运行
rm -f .git/index.lock
然后运行
git reset --hard
在您的命令提示符或 git bash
我正在使用 PyCharm IDE。
rm -f .git/index.lock
上面的命令不起作用,而是尝试下面的命令
rm -force .git/index.lock
PyCharm IDE terminal screenshot
PyCharm IDE terminal screenshot
如果您根据问题的标题在这里结束(“另一个 git 进程似乎正在此存储库中运行”),请注意,如果此问题标题中的消息前面有另一条消息,则接受的答案将不会直接适用于您下面的一个:
fatal: cannot lock ref 'HEAD': Unable to create '/<PATH>/<TO>/<REPO>/.git/refs/heads/<BRANCH>.lock': File exists.
在这种情况下,您应该删除该文件(.lock)而不是 .git/index.lock
我的 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 之前已经导致了这个问题 - 所以现在我在运行与第一个冲突的第二个提交之前稍等片刻。
在我的情况下,只需运行命令:yarn add commitizen -D
,然后一切正常!
rm -f .git/index.lock
删除Podfile.lock
。index.lock
文件,请检查HEAD.lock
· 删除它解决了我的问题。