我试图学习如何使用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,因为我不知道如何摆脱我以某种方式得到的。

是否有办法解决这个问题,或者我应该开始一个新的存储库?


当前回答

执行此命令时,

del /f index.lock

你会得到如下的回答,

该进程无法访问该文件,因为它正被另一个进程使用。

您可以使用process hacker等程序重新启动Windows中的git.exe进程。当Git重新启动时,锁就消失了。

其他回答

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

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

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

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

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

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

执行此命令时,

del /f index.lock

你会得到如下的回答,

该进程无法访问该文件,因为它正被另一个进程使用。

您可以使用process hacker等程序重新启动Windows中的git.exe进程。当Git重新启动时,锁就消失了。

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

rm .git/COMMIT_EDITMSG

它接着说。

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

请注意,您的分支名称可能与我的不同。您可以通过执行;

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