git 1.6.0正式发布
本文按署名·非商业用途·保持一致授权作者:
,发表于2008年08月19日00时10分
昨天发布的。下载地址。
以前编译安装git的时候,会默认把所有的git-xxx安装到$PATH里。在这个版本的Makefile里,默认的install规则不会把git-xxx安装到你的$PATH目录。其实早在1.5.4的release notes里,官方就已经不推荐使用git-xxx系列的命令了。所以大家以后在自己写的bash脚本里,尽量用git xxx吧。没准哪天官方就把git-xxx完全去掉了。在这个版本里,你还可以通过git –exec-path来获得git-xxx系列的命令所在目录。
发布的changes里还提到MinGW,“Source changes needed for porting to MinGW environment are now all in the main git.git codebase.”。我一直还以为以linus为首的那帮人都是死硬份子呢。如果是stallman,肯定不愿意主动和MinGW扯上关系。BTW:在windows下,无论是开发环境,还是命令行工具,我几乎都是从MinGW里拿的,太感谢他们了。最近为了打游戏,我给机器装上了Windows,开发和游戏两不误。
pack文件的默认行为也发生了变化。pack文件在这个版本里默认使用delta-base-offset编码,这个编码在git 1.4.4开始才被支持。而idx,也就是索引文件也使用更优秀的版本2,而在这个也是在1.5.2和1.4.4.5里才支持的。也就是说,如果你升级到了1.6.0,而希望你的仓库兼容老版本的git,那么必须设置变量repack.useDeltaBaseOffset为false,pack.indexVersion为1。
git附带的钩子脚本的文件名默认将会添加.sample后缀,而不是简单地把它们chmod -x。因为在某些系统或者某些情况下,没有文件可否执行的这个属性。(所谓的钩子脚本,就是可以在git执行某些操作的时候,调用这些脚本,这个在很多可扩展的系统或者软件里都能看到的。)
这个版本其他的改进和补全还包括性能,数据安全性,文档,易用性。更多的信息下载之后看release notes吧。

2008-08-19 11:09:12
git好用么
2008-08-19 13:26:32
对我来说,git的优点是:
首先是去网络化
当初我在上海的时候,家里没有宽带(唯一的一个网络就是GPRS,但是比较慢,一般只用来收邮件)。我很多东西提交到svn都很麻烦,于是就用了git-svn。
因为commit是本地的,所以可以提交多次,不需要担心提交一个槽糕的版本到某个网络上的仓库中心。在svn里,我不得不debug到一个稳定的版本再提交,然后log就一次性地写在一次ci里;或者只能开分支。
查看log也是本地的,也不需要网络。这些都和svn不一样。
其次就是在开发上更自由
例如我看到一个好的开源项目,想port到某个平台。但是那个项目的开发人员觉得你平台不好(例如某些人可能不愿意port自己的软件到windows)。如果是svn,我首先要找一个svn server,这很麻烦。当然自己架设svn也可以。但是自己架设又有个缺点,如果是两个人一起做porting,拿其中一个做server,会非常不方便,而且不安全。如果是git,就完全没这个问题,不需要找server,而两个人合作起来也非常容易,大家pull来push去就好了。