![]() |
1
15
因为您仍然可以推到另一台运行git/mercurial/bzr/etc的机器上,所以您仍然有多台计算机的备份安全性,您希望这两种方法都有。但是,如果您在旅行中编写代码,拥有完整的存储库访问权限可能是一个巨大的优势,那么当您再次拥有网络连接/get home/etc时,只需重新同步到服务器即可。 |
![]() |
2
9
对。在我看来,DVC比传统的基于服务器的系统更适合单独开发。当只有一个开发人员时,很多基于服务器的系统功能只是不必要的复杂问题。 另一方面,如果你是单飞的话,你可能不会注意到DVC和SVN之间的生产力差异。 |
![]() |
3
5
我想是的。首先,它是有刻度的。 许多的 如果使用多台计算机更好,因为合并更容易。第二,您可以离线提交,这通常非常好。 |
![]() |
4
3
我真的建议使用分布式的。在Windows上,我选择了Mercurial,并对此非常满意。 大利弊:
欺骗:
|
![]() |
5
3
对。有两个主要原因,我切换到DVC(Git和Mercurial)为我自己的爱好项目。第一个问题是 备份备份 另一个是我经常四处旅行 使用几个地理上独立的计算机 . 快速简便的备份我至少使用两个存储库克隆。一个是明显的本地工作区,另一个是保存在文件服务器(或在线存储库,如 github 或 bitbucket )每当我在本地完成这些工作时,我都会把它扔掉。进行备份和同步存储库一样简单,也就是说,将更改推到上游。 在不同的位置或计算机上工作对于有爱好项目的开发人员来说,这可能是不太常见的情况,因为我喜欢四处旅行。除了家里的电脑之外,我有时会呆在父母家里,把旧电脑放在那里(这对于业余爱好编程来说,速度相当快)。每当我想破解新功能时,我都可以在那台计算机上完成,然后只需同步存储库,这样我回家后就能收到这些更改。 易于分支/合并DVC可以非常自动地处理分支/合并,这不是什么秘密。合并冲突确实会发生,但即使没有集中的版本控制工具(如Subversion)中的冲突,即使在简单的场景中,也无法真正帮助合并。尽管我不经常在个人项目中使用这个特性,但还是有一些开发人员会这样做。 我认识一个编程承包商,他使用Git跟踪自己在公司的一个专有系统上的工作,该系统仍在使用SourceSafe进行版本控制。Git通过对每个补丁进行分支,使他能够轻松地跟踪单独的补丁,即使他最终不得不手动合并文件。当他将文件签入到SourceSafe时,他将查看不同分支中的差异,以了解需要进行哪些更改,然后执行这些更改。我们可以说,他的大部分时间都花在了等待他的同龄人赶上。 |