Git 无法还原:找到交换文件"COMMIT_EDITMSG.swp"



我在Visual Studio 2013中使用git。我试图恢复到一个特定的提交,而不会丢失从该提交到当前提交的历史。换句话说,我希望git生成一个与指定提交具有相同快照的新提交。这是我所做的:

git revert <commit>

,其中<commit>是我要恢复到的提交的id。

在Visual Studio的git命令提示符下执行上述命令会导致以下错误:

找到一个名为".git. commit_editmsg"的交换文件。.git. commit_editmsg . swp"同时打开文件"。swp"比swap文件更新!

交换文件".git. commit_editmsg。Swp已经存在了!

我不明白这是什么意思。我做错了吗?我应该如何恢复到一个特定的提交?

交换文件是由编辑器vim在开始编辑文件时创建的;它本质上是一个备份文件,以防编辑器崩溃。

现在,如果编辑器启动并找到一个交换文件,它通常会提示您决定要做什么,是恢复以前的编辑器会话还是放弃这些更改。

如果你不关心这个,你可以在启动编辑器之前先删除交换文件:

rm .git/.COMMIT_EDITMSG.swp

这将删除交换文件,因此下次启动编辑器时,您将不再收到该消息,并且可以正常工作。

最新更新