git 找到一个交换文件,其名称为

ikfrs5lh  于 2023-01-15  发布在  Git
关注(0)|答案(6)|浏览(228)

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

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:

对此该如何应对?

kcrjzv8t

kcrjzv8t1#

看起来您有一个打开的git commitgit merge正在运行,并且一个编辑器仍然打开编辑提交消息。
两个选择:
1.找到会话并完成它(首选)。
1.删除.swp文件(如果你确定另一个git会话已经消失)。
评论澄清:

    • session* 是编辑会话。
  • 您可以通过在编辑会话中输入命令:sw来查看正在使用的.swp,但通常它是一个隐藏文件,与您正在使用的文件位于同一目录中,文件后缀为.swp(即~/myfile.txt将为~/.myfile.txt.swp)。
6jygbczu

6jygbczu2#

可接受的答案未提及如何删除.swp文件。
当提示出现时,点击“D”,它将删除它。
在我的例子中,在我点击D之后,它保持最新保存的版本不变,并删除了由于我错误地退出VIM而创建的**.swp**

wsewodh2

wsewodh23#

2022年2月更新:

删除.MERGE_MSG.swp以避免E325: ATTENTION

rm .MERGE_MSG.swp

通常.example.swp文件并不重要。
另外,.example.swp文件一般制作在原文件的同一目录下,这样就不能在终端上用ls列出.example.swp文件,需要使用llls -a命令在终端上列出.example.swp文件。

gdrx4gfi

gdrx4gfi4#

. MERGE_MSG. swp在你的git中是打开的,你只需要删除这个.swp文件。在我的例子中,我使用了下面的命令,它工作得很好。

rm .MERGE_MSG.swp
drkbr07n

drkbr07n5#

当我试图将更改拉入一个分支时,也遇到过这个错误,这个分支不是从我试图拉入的上游分支创建的。
Eg -这将创建与上游的night-version匹配的新分支

git checkout upstream/night-version -b testnightversion

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

git checkout upstream/master -b testmaster

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

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

我设法解决这个问题,导航到适当的分支和拉的变化。

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

m528fe3b6#

更多信息...有些时候.swp文件可能是由正在后台运行的虚拟机持有。您可能会看到权限被拒绝的消息时,尝试删除这些文件。

相关问题