我试图学习如何使用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进程似乎正在这个存储库中运行。 由'git commit'打开的编辑器。请确保所有流程 终止,然后再试一次。如果它仍然失败,一个git进程 可能已经崩溃在这个存储库之前: 手动删除文件以继续。

Rm -f .git/index.lock

git重置 并且在reset命令后使用git status, git add,和git commit -a或者git commit -m "your message", git push origin master。

其他回答

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

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

通过这种方法,可以一次性去除

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

我的Mac很慢,所以我运行了2次git提交:一次执行,第二次被第一次阻塞。 我尝试了rm -f .git/index.lock rm . /文献/头/ your-branch-name .lock < repo>/.git/index.lock的路径 <路径到你的回购>/。Git /modules/<你的子模块>/index.lock的路径

@Ankush:

查找| grep '\.lock$' Rm -f ./.git/index。这是有用的检查-没有.lock文件潜伏

我做了@Chole所做的-检查出我的IDE退出,并再次查看git状态。然后运行$git添加。$git commit -m'msg' $git push

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

一个缓慢的Mac之前已经导致了这个问题-所以现在我只是等待一段时间,然后运行第二次提交,与第一次冲突。

当我试图在SourceTree中暂存文件时,我有同样的问题。

要解决这个问题,请到项目目录下的。git文件夹并手动删除index。锁定,你就完成了。

相关问题:

我有两个自动化 运行在相同的git repo上 并行

但他们不应该这么跑

所以固定了自动化 去除掉复杂的东西

我也遇到过同样的问题。问题是,我试图用一个大小为1.3 GB的XML文件(用作数据集)来推动我的代码。

解决方案是将该文件添加到.gitignore中,然后问题就解决了。