我非常支持备份。我把我的重要学校论文等放在Dropbox的文件夹中。我确保所有照片都备份到外部驱动器中。我有一个家庭服务器,里面保存着重要的文件,在服务器内部的两个驱动器之间进行镜像同步(类似软件RAID 1)。
对于我的代码,我一直使用Subversion进行备份。我维护具有应用程序稳定副本的主干文件夹,然后创建一个以我的用户名命名的分支,其中包含我的工作副本。我很少在提交之间对该分支进行更改,因为我知道该分支中的代码是我的备份。
现在我正在研究Mercurial,我必须承认我还没有真正使用过它,所以我可能搞错了。但是,它似乎对我来说,你拥有一个服务器端存储库,然后将其克隆到本地存储库形式的工作目录中。然后,在您处理某些内容时,您会对该本地存储库进行提交,当事物处于可与他人共享的状态时,您需要将其
在稳定、经过测试且没有错误的代码推送之间,备份在哪里呢?
经过一番思考,我得出结论,Mercurial并没有旨在备份目的,并且假定您已经自行处理了备份。我想我需要将我的Mercurial本地存储库放在Dropbox或其他备份位置中,因为我的正在进行中的代码没有被推送到服务器上。
这就是它的全部内容吗,还是我错过了什么?如果您使用Mercurial,如何备份您的本地存储库?如果您今天早上打开电脑后硬盘烧毁(或更有可能的是读取头损坏,或操作系统出现故障等),会失去什么?如果您花费了过去一周的时间开发模块、编写测试用例、进行文档化和注释,然后病毒抹掉了您的本地存储库,那不是唯一的副本吗?
那么相反的情况呢?您是否为每个本地存储库创建远程存储库并一直推送到其中?
对于我的代码,我一直使用Subversion进行备份。我维护具有应用程序稳定副本的主干文件夹,然后创建一个以我的用户名命名的分支,其中包含我的工作副本。我很少在提交之间对该分支进行更改,因为我知道该分支中的代码是我的备份。
现在我正在研究Mercurial,我必须承认我还没有真正使用过它,所以我可能搞错了。但是,它似乎对我来说,你拥有一个服务器端存储库,然后将其克隆到本地存储库形式的工作目录中。然后,在您处理某些内容时,您会对该本地存储库进行提交,当事物处于可与他人共享的状态时,您需要将其
hg push
到服务器上的父级存储库。在稳定、经过测试且没有错误的代码推送之间,备份在哪里呢?
经过一番思考,我得出结论,Mercurial并没有旨在备份目的,并且假定您已经自行处理了备份。我想我需要将我的Mercurial本地存储库放在Dropbox或其他备份位置中,因为我的正在进行中的代码没有被推送到服务器上。
这就是它的全部内容吗,还是我错过了什么?如果您使用Mercurial,如何备份您的本地存储库?如果您今天早上打开电脑后硬盘烧毁(或更有可能的是读取头损坏,或操作系统出现故障等),会失去什么?如果您花费了过去一周的时间开发模块、编写测试用例、进行文档化和注释,然后病毒抹掉了您的本地存储库,那不是唯一的副本吗?
那么相反的情况呢?您是否为每个本地存储库创建远程存储库并一直推送到其中?
你如何找到平衡点?你如何确保你的代码有备份?在使用Mercurial作为备份和使用本地文件系统备份工具来保护本地存储库之间的界线是什么?