我有一个用于个人项目的 Mercurial 存储库,并且我已经将主存储库存储在我的 Dropbox 中几周了(沿着这条线 http://iamthewalr.us/blog/2009/02/mercurial-and-dropbox/;我明白这也是可以用git https://stackoverflow.com/questions/1960799/using-gitdropbox-together-effectively).
这个想法是它既可以作为一种与多台机器一起工作的方式,也可以作为远程备份。我克隆存储库并处理非 Dropbox 副本,并且只偶尔推送更新一次,我想,就像我使用 Bitbucket 一样。
与使用专用托管(Mercurial 中的 BitBucket)相比,您能想到这个想法有什么缺点吗?我知道 Bitbucket 有针对单个用户的免费帐户,这很好,但它们限制为 150M,这并不是一个很大的数字.
特别是,Dropbox 的同步过程是否可能会损坏存储库?我必须跑汞恢复一旦在主存储库上,但它可能是无关的(无论如何它很高兴地恢复了)。有人对这个想法有过不好的经历吗?有谁有比较长的好的经验可以减轻我的担忧吗?有没有人基于更好地理解这些事物的内部结构而提出意见?
编辑:我对问题添加了一些澄清。他们在italics.
出于上述原因,但我更强烈地建议不要这样做。 Mercurial 和 git 都有自己的协议用于在存储库之间移动变更集。这些协议针对以下方面进行了优化/构建:
- 效率
- 一致性(永远无法从处于半更新状态的存储库中提取数据)
- 钩子/触发器——在推/拉上执行操作,包括质量(不允许使用选项卡等)过滤器
当您只是让目录同步处理 .hg(或 .git)目录的同步保持时,那么在同步期间您就会得到一个处于不一致状态并且不知道的远程存储。
此外,hg 和 git 在其磁盘状态中区分了仅本地和远程的内容。他们知道要共享哪些信息(例如:已提交的变更集)和不应该共享哪些信息(例如:当前的本地工作目录父版本)。
在其他答案中,人们会说“你可能会没事的”或“我从来没有遇到过问题”,这可能是真的,但不能保证是真的,并且版本控制不是一个玩机会的地方。为您的源代码控制系统使用正确、更好、更安全、更高效、功能更齐全的同步协议。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)