重新连接到意外停止的 vi 会话 (git commit)

重新连接到意外停止的 vi 会话 (git commit)

在 Cygwin 上,我在编辑一条消息Ctrl+Z时意外按下了。vimgit 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

相关内容