只是想知道你们是否有人在你的Java项目中使用Git或Mercurial,或者Subversion仍然是最受欢迎的选择?我最近一直在关注github.com和bitbucket.org,但由于存储库可能是私有的,我无法很好地了解实际使用情况。
答案 0 :(得分:17)
小心。
你还记得在使用颠覆后你对CVS的感受吗?
如果你使用git / mercurial,你会对subversion采取完全相同的方式。
是的,当然,你会参加圣诞节和奇怪的周末 但你再也不能回家了。
答案 1 :(得分:11)
我不认为语言应该进入这个等式。 Mercurial和Git在功能上相似,在概念上与Subversion非常不同。为您的工作方式选择正确的版本控制风格更为重要。
碰巧,我使用Mercurial和Java。我使用Netbeans作为我的IDE,它内置了对Mercurial和Subversion的支持 - 两者都运行良好。我也强烈推荐Bitbucket。
答案 2 :(得分:8)
在被无用的Subversion忽略过滤器厌倦后,我的公司将一个项目移动到Mercurial。几个月后,我们将所有代码(主要是Java)移到了Mercurial repos。每隔一个周末,我们现在正在燃烧.svn文件夹吟唱和尖叫。分支和合并比Subversion更顺畅。与闪电般快速的本地回购合作非常好。
我怀疑使用Subversion比Git和Mercurial更多的项目,但趋势似乎是分布式版本控制系统。
答案 3 :(得分:1)
Github还出售私人托管,效果非常好。要查看可用的套餐,请转到account page,然后点击右上角的更改计划( 您的计划框 )。 Github经常是人们尝试并最终坚持使用Git的原因。
如果您想了解Git与其他版本控制系统的比较,那么没有比这个更适合的网站:Why Git is Better than X(巧合的是,该网站的源代码位于GitHub上;有一个指向它位于页面底部)。
我认为您用于项目的语言并不重要。我最近转向Git而且我还是很陌生,但它似乎真的很有道理。我真的很喜欢每个存储库都是彼此克隆的整个想法,而不是有一个中央存储库,它不允许你在离线时工作(与Subversion的情况一样)。尽管现在大多数人总是可以访问互联网,但也很高兴知道确实没有一点失败(除非有一点开始,否则如果你没有例如,在Github上主持,或者只要你有两个存储库。
最后我认为不应该选择最受欢迎的内容(最近似乎是Git ),但这对你有用。我认为大多数开发人员都开始转向像Git或Mercurial这样的分布式版本控制系统,看起来更多的是加入Git阵营,这很可能意味着你会找到更多的指南,工具等,特别是随着越来越多的人继续转向它。
答案 4 :(得分:1)
对我们来说关键点是IDE支持需要坚如磐石。我们是一家小商店,没有足够的资源处理小烦恼(这也是我们仍然在CVS上的原因,因为我们需要在切换之前提供与CVS一样好的IDE支持)。
我相信其他人也有同感。源存储库是至关重要的,任何迁移都必须是无痛的并带来好处。
就我个人而言,我相信Sun对Mercurial的认可将使其受益匪浅,或许成为新的事实标准
答案 5 :(得分:0)
Subversion是实现IDE集成的最佳解决方案,因为每个Java IDE都支持它,而Mercurial应该非常适合Netbeans用户,因为NB的开发团队将其用作源控件。
Git只是没有提供超过Mercurial的任何优势,只缺乏Windows支持和一般的工具支持较少。