我将创建一个分支来处理我的代码,因为主干以不可想象的方式混乱(但这不是问题)。如何定期备份我创建的分支。它将位于我的公司服务器上,我不确定是否定期检查分支到新文件夹是否相当于“备份我的分支”?
这有什么不同,只是去Repo并将文件夹复制到我的桌面? .svn文件是否包含保留分支历史记录所需的所有内容,并且能够恢复到以前的修订版本?
谢谢!
更新**
我问的原因是因为我不知道有人会在某一天出现并删除分支机构。
答案 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 commandsvn 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