我想将VC用于开发项目,但是我在各种类型中看到的内容(Git,SVN,Mercurial ......)似乎并不适合我喜欢的内容。完成。
我想要做的是将代码存储库存储在外部设备(例如拇指驱动器或SD卡)上,不仅用于版本控制,还用作备份以防本地硬盘崩溃
在阅读了各种VC软件包的一些教程后,我很难理解如何实现。我看到的大部分内容都是必须在项目目录结构的根目录中初始化存储库,而不是我想要存储的存储库。
在我看来,这会产生重复的代码......
或者我只是遗漏了什么?
这可以实现吗?
非常感谢任何理解这一点的帮助!
答案 0 :(得分:1)
在我看来,这会产生重复的代码......
没有。通常,存储库不是“代码的副本” - 它的数据库,其中包含您的代码和其他元数据。我看到没什么不好在不同的地方有两个存储库
以上注释仅适用于DVCS(Mercurial,Git,Bazaar ......),不适用于Subversion等CVCS,其中所有存储库和任何存储库都是远程存储器,而.svn
dir只包含一些元数据(因此 - 您可以在外部驱动器上有单个 SVN-repo)
结论:
.hg
)移到Working Dir的根目录(在您的术语中为“project”),但可以在外部驱动器上有其他存储库--separate-git-dir
option for git init
答案 1 :(得分:1)
另一方面,您似乎混淆了存储库的概念和不同目的,另一方面又备份了备份。
存储库主要不是为了保留备份。其主要目的是修订控制和源的历史。我知道的版本控制系统通常保留其历史数据相对于项目本身的根目录 - 也许它可以配置为其他方式,但默认情况下通常是有正当理由的默认值。但是,您可以轻松克隆此类存储库,以便在另一个驱动器或计算机上存在完整历史记录的另一个副本(或者也可选择仅部分历史记录)。这种机制可以作为备份使用。
备份通常是您的数据(可能是您的存储库)的另一个副本,位于另一个独立的介质上,优先是在另一个建筑物中。这样可以恢复(重要)数据的完整状态 - 通常用于工作场所计算机包括存储库以及存储库的工作目录状态。
答案 2 :(得分:0)
由于Git是分散的,你可以拥有:
那是:
cd /path/to/myproject
git init .
git add -A .
git commit -m "my sources"
然后
cd /path/to/thumdrive
git init --bare myproject.git
最后
cd /path/to/myproject
git remote add origin /path/to/thumbive/myproject.git
git push -u origin master