如何修复失败的git提交?

时间:2011-11-20 02:18:45

标签: git

我是git的新手并且正在尝试提交,但我陷入了{I} vi这个我不熟悉的状态。我设法摆脱它,但我认为我走错了方向因为我的git状态说“变化没有上演”,但我仍然无法再试一次。有人能告诉我我可以做些什么来修复仍然挂起的过程并提交我的更改吗?

这是错误

fatal: Unable to create '/.git/index.lock': File exists.
If no other git process is currently running, this probably means a
git process crashed in this repository earlier. Make sure no other git
process is running and remove the file manually to continue.

不是我拿出了完整的路径

一如既往地感谢您的帮助。

4 个答案:

答案 0 :(得分:12)

从.git目录手动删除 index.lock 文件。

从命令行:

$ rm -rf .git/index.lock

注意:确保.git目录中只存在一个索引文件

答案 1 :(得分:11)

假设您目前没有使用git做任何事情(即,由于任何原因,没有在存储库中执行推送或拉动或运行git脚本),您可以手动删除锁定文件并再试一次。

另外,git需要一个描述你的更改的“提交消息”。假设您不想打开编辑器,可以使用-m选项提供内联消息:

git commit -am "Changed this, that, and the other thing"

答案 2 :(得分:1)

请注意,使用git 2.9(2016年6月),该消息将得到改进并更加明确,以便邀请您在自行删除该锁之前考虑所有原因

commit aed7480commit 3030c29Matthieu Moy (moy)(2016年3月1日) 帮助:Moritz Neeb (zormit)
(由Junio C Hamano -- gitster --合并于commit 3b8c4b7,2016年4月3日)

  

lockfile:改进lockfile存在时的错误消息

     

引导用户看到此消息的一个常见错误是启动" git commit",让编辑器打开(并忘掉它),然后再试一次   提交。

     

之前的消息太快了,#g; git进程崩溃了#34;   以及建议"手动删除文件"。

     

此补丁以两种方式修改消息:

     
      
  • 首先,它认为"另一个进程正在运行"是常态,而不是例外,
  •   
  • 并明确提示用户查看文本编辑器。
  •   
     

邮件长2行,但这不是问题,因为有经验的用户不会经常看到该邮件。

答案 3 :(得分:1)

我的解决方案来自 Platinum Azure 然后 Suhail Taj

git commit -am "Changed this, that, and the other thing"

然后

$ rm -rf .git/index.lock