在windows上使用git,運行git commit -a
命令的時候,進入了vim的編輯界面,這時不小心按ctrl+z退出了vim編輯界面,回到了命令行,並顯示了這樣的信息:
$ git commit -a
Vim: 读错误,退出中...
Vim: Finished.
這時再次運行git commit -a
的話,會出現以下訊息:
$ git commit -a //ctrl+z退出之后再次运行git commit -a
fatal: Unable to create 'C:/Users/dell/gittest/.git/index.lock': File exists.
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.
嘗試fg
返回去,但是不行,顯示以下資訊:
$ fg
bash: fg: current: no such job
應該怎麼做?
手機回答一個,下次直接 git commit -am "commit"
把進程殺掉,重新commit?
直接把提示的那個index.lock移到資料夾以外,再試試
很奇怪。 (不過考慮到是 Windows,我也就釋然了。)
你的 Ctrl-Z 並沒有像 UNIX 系統上的那樣把 Vim 放到後台,而是導致 Vim 出錯退出了,所以 fg 自然就不起作用了。
你可以按第二個程式碼區塊中的提示刪除鎖定檔案。
以後不要隨便按 Ctrl-Z 了。你只說了「在windows上使用git」,我並不知道你使用的是哪個版本的git(git 官方提供的版本的是基於msys 的;Cygwin 有自己的git 和Vim;msys2 也有一套;當然WSL 還有一套…)。另外你有可能混用了不同版本的 bash 和 Vim,例如在 Cygwin 環境裡使用 Windows 原生版本的 Vim。
把這個檔案刪除就好了C:/Users/dell/gittest/.git/index.lock
fg
........................................