42

我已经和一个团队一起工作了将近一年。使用 github/git 来拉取和推送更改总是很容易的:

git pull
git add .
git commit -a -m "my work desc"
git push

直到最近,这一直很好。现在无论如何,如果其他人推了,每当我尝试拉时,我都会收到以下消息:

E325: ATTENTION
Found a swap file by the name ".git/.COMMIT_EDITMSG.swp"
          owned by: X   dated: Wed Jan 23 16:01:06 2013
         file name: ~X/Sites/mysite/.git/COMMIT_EDITMSG
          modified: no
         user name: X   host name: X-2.local
        process ID: 77109
While opening file ".git/COMMIT_EDITMSG"
             dated: Thu Jan 24 16:22:48 2013
      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 .git/COMMIT_EDITMSG"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file ".git/.COMMIT_EDITMSG.swp"
    to avoid this message.

Swap file ".git/.COMMIT_EDITMSG.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:

每次没有失败时都会发生这种情况。我最终可以通过插入一条消息、保存并重新提交来解决这个问题,但这很痛苦。知道为什么这种情况不断发生以及可以做些什么吗?

谢谢

4

4 回答 4

40

除非您需要.git/.COMMIT_EDITMSG.swp用于其他目的,否则您可以使用:

git rm .git/.COMMIT_EDITMSG.swp

从存储库中删除文件。

于 2013-01-25T19:37:44.857 回答
24

我遇到了同样的问题,由于某种原因,使用git rm对我不起作用。

为了解决这个问题,我只是删除了文件:$ rm .git/.COMMIT_EDITMSG.swp这就解决了问题。

于 2016-02-24T19:48:24.327 回答
0

如果在从另一个分支合并后出现此交换错误消息,您只需提交更改。我 git 添加了 - 绿色文件未提交。我提交了文件 - 然后完成了。

于 2017-07-12T06:12:42.127 回答
0

我尝试删除该消息,但它失败并抱怨我没有这样的文件。-m因此,我在执行时添加了一条提交消息,git commit -m并且警告不再显示。

于 2019-06-27T14:35:27.057 回答