我在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
这将删除交换文件,因此下次启动编辑器时,您将不再收到该消息,并且可以正常工作。