我试图学习如何使用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文件夹中,删除索引。锁文件,并尝试再次提交或添加。它将工作。

其他回答

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

这通常不是问题,但我已经预先输入了一个提交消息,所以我可以跟踪我在这个小冲刺中所做的事情。

基本上,我在未提交的分支上开始了一次提交,并意外地试图在我的主分支上开始另一次提交。

使用下面的命令,以防你遇到另一个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。

删除索引。锁定在这里:

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

此外,如果存储库有子模块,请删除所有索引。锁定在这里:

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

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

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

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

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

我也面临同样的问题。我需要做更多的工作来解决这个问题。

首先,我删除了文件索引。锁,然后我从现有的Git存储库位置克隆了新的代码。我在不同的地方修改了代码。我复制了.git文件夹和.gitignore文件文件,并粘贴到我所做的代码更改的代码文件夹中。

然后我试着承诺和推动,结果很顺利。 如果你的问题没有以上给出的解决方案,这些信息可能会有帮助。