昨天看了篇文章:《Why Git is Better than X》(中文版),觉得Git很牛,但具体牛在哪里,也只是道听途说。因为没有切实地体会。
后来,不知啥事,去看Daniel Robbins(Gentoo创始人)的Funtoo去了。前些日子发现Funtoo这个玩意,但是不理解为什么会有这个东西。
但是,事情就是这么有趣。因为刚刚看完Git,而Funtoo又是托管在GitHub上的,Funtoo为什么要用Git,而不是其他?
-----
后来把blog.funtoo.org上的相关文章都看了一遍,了解到Funtoo对Gentoo的有未来导向作用。也就是说,Funtoo与Gentoo尽量保持兼容,但Futnoo的Portage又比Gentoo的新。
虽然了解到这些,但是还有疑惑。
后来断网了,还不想睡觉,就去看Git Book了,想更深层了解Git是怎么个回事。
在Git Book中,一边看一边练习基本命令和例子,我惊呆了!
Git太强大了,说它是“分布式”,还小看它了,它是全能的,基本能取代所有的X(指SCM)。
用Git建立分支,几乎是没有什么痛苦和代价的,而且开发者推荐使用分支,每个点子都用一个分支。
而且Git网络依赖性超少,基本上平时的开发都不需要用到网络,只在获取和合并时才必须用到。
当然,看我说的话不如去看《Why Git is Better than X》,看完以后,别忘了根据Git Book里去练习一下,才会彻底明白Git为什么更好!
了解了Git后,我试着猜想Funtoo的意义。
Gentoo的Portge是由上万个ebuild组成的,这些ebuild在服务器上,是通过cvs管理的吧,然后用户是用rsync来更新的。
随着Gentoo的开发者越来越多,每个开发者都有自己独有的ebuild,当周边开发者向主开发者提交的ebuild越来越多时,主开发者一定忙不过来吧。如何有效的组织这一切呢?
想想Git是谁做的?Linus Torvalds!
Linus为什么要做这个工具?我了解到Git也是慢慢发展起来到这个样子的。很明显Git最重要的作用就是为了解决维护人员在合并补丁时的痛苦。依赖Git这个强大的工作,Linux才能如此有效地进行开发。
回到Gentoo,Portage的开发有点类似于Linux,它也是由成千上万个独立文件组成的,充分具备分布式开发的条件。
这个,是不是能解释Funtoo用Git的原因呢?
当未来,Gentoo平稳地过渡到Funtoo时,Gentoo将获得新生,开发者社区将像Linux社区一样活跃起来,并且解决现在Gentoo开发当中一些不足的问题。我想是这样!
以上只是小弟根据Git和Linux开发所散发的一些想法,如有不合理之处,还请大家指出。
现在,我迫不及待地要把我所有的源码投到Git的怀抱里去了!
PS:Funtoo里有sys-apps/openrc-0.4.0,^-^
funtoo是啥?gentoo的改进?还是,麻烦博主解释一下。
看了那个Why Git is Better than X,我倒更觉得我选择 Mercurial 是正确的了
1. 它不比Git慢很多
2. 它跨平台……
Mercurial 功能太弱了
@令狐虫,
@jetta, 愿闻其详? 我其实没有用过git,看WGBX一文里,对hg的优势只有三项,而GitHub我是不在乎的,那么就剩两项优势了。hg到底弱在什么地方呢?
我选择hg的理由相当的简单,它可以在很多平台,包括Windows下方便的使用。而git,似乎在Windows下用起来非常不方便。
以我对HG的体验,HG已经拥有了多数的SCM的功能,甚至性能也是不错的。但我最难以接受的是其对“版本”的管理功能。比如我正在开发某软件XSOF,目前的主流版本是1.5.x,然后我就开始打算全新设计新的版本2.0.x,这时候hg该如何做呢??做不了。因为HG的基本没有分支能力,所以我只能拷贝一份代码,到新的文件夹,开始我的新的2.0.x的开发。有此也可看到,当我想发布/备份某个版本1.5.1,但是新的版本1.5.2确是1.5.0直接分支过来的,那么,又得折腾一番。。。
而GIT的强大分支功能,能够轻松解决上述问题,而这功能,也是我的最爱。
当然,我觉得GIT不容易(但还是可以的)提供CVS之类的中心版本服务器功能,使得小团队的开发不够方便,这也是缺点
hg 也有分支功能啊。而且和Git差不多阿。
http://linuxtoy.org/archives/git-community-book.html 免费电子书:Git Community Book
在win下用git实在麻烦
慢慢看着怎么觉得funtoo现在像一个git 的overlay :D
看了funtoo网上的方法,可以一试用用funtoo 的git portage
http://github.com/funtoo/portage/wikis/first-steps
http://www.gentoo-cn.org/gitweb/
ebuild似乎是通過svn來同步的。
why git is better than X裏面提到git比hg優的有三個地方:
github: hg也有BitBucket,而且目前github可能因為訪問量大的關系,網站時不時會出問題。
staging area: 很酷的特性。不過對於習慣cvs的人來說,hg的方式比git的更容易理解。如果需要分別提交,也可以用hg自帶的record extension。
cheap local branch: hg也有lbranch插件,不過和git的差距很大。
git的repack機制很奇怪,這點不如hg。
看这篇文章好几遍了,
不知道楼主有没有用上FUNTOO
多写一些关于FUNTOO的文章吧