如何修复失败的git提交?

如何修复失败的git提交?,git,Git,我是新来的git并试图提交,但我被困在了我不熟悉的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

我是新来的
git
并试图提交,但我被困在了我不熟悉的
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.
不,我走了整条路


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

假设您目前没有使用git执行任何操作(即,无论出于何种原因,没有在存储库中执行推拉操作或运行git脚本),您可以手动删除锁定文件,然后重试

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

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

请注意,在Git 2.9(2016年6月)中,信息将得到改进和更明确,以便邀请您在删除该锁之前考虑所有的原因。 参见(2016年3月1日)作者。
帮助人:。
(于2016年4月3日被合并)

lockfile:改进存在lockfile时的错误消息 导致用户看到此消息的一个常见错误是启动“
git commit
”,让编辑器打开(并忘记它),然后重试 承诺

上一条消息太快,导致“git进程崩溃” 以及“手动删除文件”的建议

此修补程序通过两种方式修改消息:

  • 首先,它认为“另一个进程正在运行”是规范,而不是例外
  • 它还明确提示用户查看文本编辑器
消息长2行,但这不是问题,因为有经验的用户不经常看到消息


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

从命令行:

$ rm -rf .git/index.lock

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

我的问题已通过Platinum Azure的两个答案解决,然后Suhail Taj

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


查看
git status
的完整结果会很有帮助。请注意,您可以通过
git config--global core.editor editor\u NAME
更改用于提交消息的编辑器,其中
editor\u NAME
是路径(或完整路径)中的可执行文件。您可能希望看到关于如何更改git中的默认编辑器的问题:rm-f./.git/index.lock这对我有效,@RAJCHOW对我也有效。我已经“停止”了另一个git add-一个使用CTR+Zok的进程,并假设它可以工作,当它出现时,我如何保存和更改vi@mcgrailm:我编辑了我的答案,检查了它,并让我知道这是否有帮助。我必须先添加每个文件,而不是使用git提交-一个“更改了这个、那个和其他东西”不断收到消息说更改未停止抱歉,我应该补充一点,您需要首先在文件上使用
git add
,或者使用
-a
标志来获取所有发生更改的内容。
$ rm -rf .git/index.lock