我将我的本地GIT仓库复制到另一个位置,我无法提交

时间:2012-02-13 00:56:55

标签: git vim

我将我的本地git repo复制到我的sites文件夹,以便我可以在本地开发,然后将更改推送到github。

当我尝试通过“git commit -a”提交时,我收到此消息:

E325:注意

找到一个名为“.git / .COMMIT_EDITMSG.swp”的交换文件

      owned by: usrname   dated: Sat Feb  4 18:56:02 2012

     file name: ~myUsername/oldRepoLocation/.git/COMMIT_EDITMSG

      modified: YES

    process ID: 15435

打开文件“.git / COMMIT_EDITMSG”

         dated: Sun Feb 12 19:51:43 2012

  NEWER than swap file!

(1)另一个程序可能正在编辑同一个文件。     如果是这种情况,请注意不要以两个为止     进行更改时,同一文件的不同实例。     退出,或继续谨慎。

(2)此文件的编辑会话崩溃。     如果是这种情况,请使用“:recover”或“vim -r .git / COMMIT_EDITMSG”     恢复更改(请参阅“:帮助恢复”)。     如果您已经这样做,请删除交换文件“.git / .COMMIT_EDITMSG.swp”     避免这个消息。

交换文件“.git / .COMMIT_EDITMSG.swp”已经存在!

2 个答案:

答案 0 :(得分:7)

当Vim正在运行时,它会在缓冲区中打开的每个文件中创建一个.swp文件。这是为了恢复崩溃。

在这种情况下,您可能在打开Vim时复制了repo以编辑提交消息,从而将.swp文件保留在新副本中。删除错误的swp文件是安全的:

rm .git/.COMMIT_EDITMSG.swp

答案 1 :(得分:0)

要添加上述海报的说明,可能值得一提的是,您可以配置vim以将其所有.swp文件保存到特定目录中。

将来,如果您想避免此类问题,只需在swap_files目录中创建一个目录~/.vim/,然后将此行添加到.vimrc

set directory^=$HOME/.vim/swap_files/