想象一下,你有一个朋友(不是VoIP)在电话里问:“Git有什么特别的吗?我用Subversion很好。”为了描述使用像Git这样的DVCS的优势,你的“电梯演讲”是什么?
发布于 2009-03-24 17:58:42
对我来说,你可以在像git这样的DVCS中做的主要事情之一是,它在SVN中不能很好地工作:
1)针对正在开发的各种功能,在主干之外创建多个开发分支。
2)在任一功能分支完成并准备合并到主干之前,将一个功能分支的代码合并到另一个功能分支中。
3)之后,将功能分支合并到主干中。
将新功能拆分到单独的分支中是很好的,这样主干就可以保持干净,直到功能完成。但是,不可避免地,您会遇到这样一种情况:在一个功能分支上工作的团队已经编写了另一个功能分支上的团队需要的一些代码。如果您使用SVN跨功能分支合并此代码,则稍后在合并到主干时会遇到问题。Git避免了这个问题。
还有另一个好处..。您的公司决定将某个功能的开发外包给一家印度合同公司。或者,您的专业服务组需要为客户添加一项功能,该功能可能会在将来进行产品化。您真的不想将SVN的写访问权限授予印度承包商或您的PS组。因此,他们必须在源代码控制之外构建代码,而您必须将其合并到您自己中,在没有任何SVN帮助的情况下自己检测和解决任何冲突,并在此过程中丢失所有承包商的签入历史记录。
但是使用git,您只需给承包商或您的PS组一个存储库的副本,他们就可以像开发人员一样提交它。稍后,您可以使用git的功能将更改合并回git存储库。Git会发现冲突,并保存历史记录。
最后,关于git最酷的事情之一是,你真的不需要说服你的朋友它比SVN更好。因为git与SVN集成得如此之好,所以您的公司/朋友可以愉快地使用SVN,而您也可以愉快地使用连接到SVN的git。
发布于 2009-03-24 13:53:46
已经有a question similar to this了。另外,Eric Sink有一个关于DVCS的number of articles。对另一个问题和文章的回答都可能有助于建立一个明智的决定。简单地说一个比另一个更好可能不会有帮助(不幸的是,这似乎是Linus在这方面所做的一切,这并不能真正说服人们-至少不是我:))。
发布于 2009-03-24 13:52:12
要求他在不访问其网络存储库的情况下工作/结帐/提交/检查日志/恢复(例如,在飞机上)。
https://stackoverflow.com/questions/677460
复制相似问题