0

假设我在树干中有以下树:

app
├── file1
├── file2
├── file3

不幸的是,在一次提交中,我不小心删除了该app文件夹,因此该提交包含一个更改,但删除了我的整个代码。我在下一次提交中重新上传了它们,其中有 3 个更改,添加了 3 个文件和文件夹。在重新添加后我已经承诺了。

我没有丢失代码,但是这样我在删除提交之前丢失了这些文件的历史记录。有没有办法以某种方式消除这两个提交,以便我可以取回这些文件的历史记录?

4

1 回答 1

1

有一些方法可以使用转储/编辑/加载过程从存储库中删除提交,但我认为更简单的方法是从早期版本分支。

  • 假设您有修订版 15
  • 然后你删除了应用程序(r16)
  • 然后您再次添加并提交了应用程序(r17)

所以你能做的是

  • svn del ^/trunk/app
  • svn cp ^/trunk/app@15 ^/trunk/app

现在您的应用程序目录已恢复,并带有历史记录。唯一的缺点是副本意味着您--stop-on-copy在查看日志时必须禁用才能进一步查看过去。当我不小心删除了一个发布分支时,我曾经使用过同样的方法。

于 2013-11-14T01:14:31.460 回答