备份一个分支

时间:2011-03-03 17:35:01

标签: svn tortoisesvn subversive

我将创建一个分支来处理我的代码,因为主干以不可想象的方式混乱(但这不是问题)。如何定期备份我创建的分支。它将位于我的公司服务器上,我不确定是否定期检查分支到新文件夹是否相当于“备份我的分支”?

这有什么不同,只是去Repo并将文件夹复制到我的桌面? .svn文件是否包含保留分支历史记录所需的所有内容,并且能够恢复到以前的修订版本?

谢谢!

更新**

我问的原因是因为我不知道有人会在某一天出现并删除分支机构。

5 个答案:

答案 0 :(得分:1)

没有必要备份分支,Subversion是版本控制系统。当变化发生时,你知道是谁做的,当他们做了什么,他们改变了什么,你甚至可以撤消他们的改变。这就是版本控制系统的功能。

答案 1 :(得分:1)

因此Spaketh Chobo

更新 **

我问的原因是因为我不知道有人会在某一天出现并删除分支机构。


在Subversion中,你所做的一切都是可逆的。即使您删除了一个分支,也可以通过在删除之前将其从修订版本中复制回来来恢复它。

例如,假设你的分支在修订版100中被删除了:我们将使用@99

复制分支。
$ svn cp -r99 svn://svn/branches/my_branch@99 svn://svn/my_branch

现在又回来了!

如果您真的想保护分支机构,可以使用预先提交的挂钩来阻止人们修改文件夹和文件。我有一个here

答案 2 :(得分:0)

您可以将您的svn服务器视为:

每次更改服务器的状态时,它都会创建一个使用修订号识别的状态的快照。

如果您想引用该状态,请查看该修订号。

现在,这并不完全是它的工作原理 - 如果它为每个变化创建一个完全独立的快照,它将是非常低效的空间(也可能是时间明智的)。但是,它的设计允许你像操作那样操作,它会为你重新创建它。

所以你的备份包括这样做

打开文档(我们称之为backup.txt)。

在存储库上执行SVN INFO以获取当前版本号

写下“备份”,你的日志上写着“我在这个日期做了备份。要获得备份状态,我只需查看日志中的修订版。”

基本上,你所要求的不仅是内置于颠覆,而且确实是颠覆的目的。 :)

答案 3 :(得分:0)

  

.svn文件是否包含我的所有内容   需要保留我的分支历史记录   能够恢复到以前的状态   修改

没有。 .SVN文件夹不保留任何历史记录。所有历史记录都在服务器上的存储库中,这就是您应备份的内容。

答案 4 :(得分:0)

您并不需要备份您的分支机构。修订控件保留所有修订版本。任何时候,您想要查看版本,您可以使用版本号

运行checkout command
svn checkout -r 911 svn://url/to/file/or/dir/tobe.checked/out to/this/location/on/my/machine

参考:http://svnbook.red-bean.com/en/1.5/svn.ref.svn.c.checkout.html