找到一个名称为交换文件


76

当我尝试将我的分支与远程分支合并时:

git merge feature/remote_branch

我收到此消息:

E325: ATTENTION
Found a swap file by the name ".git/.MERGE_MSG.swp"
          owned by: xxxxxx   dated: Mon Nov 12 23:17:40 2012
         file name: ~xxxxxx/Desktop/My-ios-App/.git/MERGE_MSG
          modified: YES
         user name: xxxxxx   host name: unknown-b8-8d-12-22-27-72.lan
        process ID: 1639
While opening file ".git/MERGE_MSG"
             dated: Tue Nov 13 14:06:48 2012
      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/MERGE_MSG"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file ".git/.MERGE_MSG.swp"
    to avoid this message.

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

怎么处理呢?

Answers:


82

看起来您已经打开git commitgit merge正在进行中,并且编辑器仍在打开中,以编辑提交消息。

两种选择:

  1. 找到会话并完成它(最好)。
  2. 删除.swp文件(如果您确定其他git会话已消失)。

从评论中澄清:

  • 会话是编辑会话。
  • 你可以看到.swp正在使用的输入命令:sw编辑会话中,但通常它是在同一目录下,你正在使用的文件,隐藏文件,具有.swp文件后缀(即~/myfile.txt~/.myfile.txt.swp)。

12
如何找到此.swp文件?
Oleh Liskovych '17

14
如何找到“会话”-这是什么意思?
RUKAclMortality

完成后,我应该选择什么选项?编辑或恢复它?@trojanfoe
Tengerye,

您能否详细说明如何完成会话或删除文件?
Leticia Esperon

有关如何删除.swp文件的详细信息,请参见下面的答案
Robert Sinclair,

18

接受的答案未提及如何删除.swp文件。

出现提示时,按“ D”,它将删除它。

就我而言,在我按下D之后,它保留了最新保存的版本,并删除了创建的.swp,因为我错误地退出了VIM


3
谢谢您-无论谁在bash程序中进行制作的人-都应加上以下注释:“如果您想保留
所做的

或只是打git clean -f
vikas kumar

1

尝试将更改拉到不是从我要从中拉出的上游分支创建的分支时,我也遇到了此错误。

例如-这将创建night-version与上游匹配的新分支

git checkout upstream/night-version -b testnightversion

这将testmaster在本地创建与master上游分支匹配的分支。

git checkout upstream/master -b testmaster 

现在,如果我尝试将的更改拉night-versiontestmaster分支会导致此错误。

git pull upstream night-version //while I'm in `master` cloned branch

我设法通过导航到正确的分支并拉出更改来解决此问题。

git checkout testnightversion
git pull upstream night-version // works fine.


0

更多信息...有时.swp文件可能由在backgroung中运行的vm保留。尝试删除文件时,您可能会看到权限被拒绝的消息。

检查并杀死进程vm

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.