这不是重复的。我看了this stack overflow post和this post并尝试了他们的解决方案,但没有奏效。
我正在使用Ubuntu 16.04并尝试将项目推送到Github。
当我跑:
git push jr master
我收到此错误:
error: update_ref failed for ref 'refs/remotes/jr/master': cannot lock
ref 'refs/remotes/jr/master': Unable to create
'/home/john/Desktop/john-rykken-V2/.git/refs/remotes/jr/master.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.
Everything up-to-date
我运行了以下命令:
rm -f .git/refs/heads/master.lock
rm -f .git/index.lock
都没有奏效。我也重新启动了我的机器并运行ps -a | grep git
,但没有找到任何正在运行的进程。最后,当我进入我的项目目录并手动搜索master.lock时,我找不到它。
建议?我的下一步是重新克隆存储库。
您可能已经使用sudo运行了一个git命令,这导致.git存储库中的某些文件由root拥有。尝试运行此命令将存储库中所有文件的所有权更改为您的用户:
sudo chown -R john /home/john/Desktop/john-rykken-V2/.git
我在这里假设您正在尝试与用户john一起运行git。否则,将其更改为正确的用户。
编辑:
事实证明,错误消息上的文件必须删除:rm -f .git/refs/remotes/jr/master.lock