在 Cygwin 上,我Ctrl+Z
在進入時不小心按了vim
.我正在編輯一條git commit
訊息。
這導致了
$ git commit -a
[1]+ Stopped git commit -a
我認為 vi 會話仍然處於活動狀態:
$ ps -ef | grep vi
myname 37252 15784 pty0 16:54:26 /usr/bin/vi
如何重新連接到vi
會話並恢復工作?
答案1
這就是我所做的。如果有更簡單的方法,請隨時發布另一個答案。
$ git commit
fatal: Unable to create '/cygdrive/c/projectDir/.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.
$ rm /cygdrive/c/Clients/Gulden/dev/Watch_Firmware/.git/index.lock
$ git commit
E325: ATTENTION
Found a swap file by the name "/cygdrive/c/projectDir/.git/.COMMIT_EDITMSG.swp"
owned by: ...
file name: /cygdrive/c/projectDir/.git/COMMIT_EDITMSG
modified: YES
user name: ...
process ID: 37252 (still running)
While opening file "/cygdrive/c/projectDir/.git/COMMIT_EDITMSG"
dated: Wed Feb 1 17:11:22 2017
NEWER than swap file!
(1) Another program may be editing the same file. If this is the case,
be careful not to end up with two different instances of the same
file when making changes. Quit, or continue with caution.
(2) An edit session for this file crashed.
If this is the case, use ":recover" or "vim -r /cygdrive/c/projectDir/.git/COMMIT_EDITMSG"
to recover the changes (see ":help recovery").
If you did this already, delete the swap file "/cygdrive/c/projectDir/.git/.COMMIT_EDITMSG.swp"
to avoid this message.
"/cygdrive/c/projectDir/.git/COMMIT_EDITMSG" 16 lines, 547 characters
Press ENTER or type command to continue
做:recover
在vim
.完成並儲存訊息。然後刪除舊的快取部分訊息:
$ rm /cygdrive/c/projectDir/.git/.COMMIT_EDITMSG.swp