晒历史

开始流行晒历史了,我也晒一下

localhost:~ splyb$ history | awk {'print $2'} | sort | uniq -c | sort -k1 -rn | head
 125 git
  81 cd
  56 ls
  32 rake
  28 ./script/server
  15 rm
  14 ll
  11 sc
  11 pwd
  10 ruby

3 条评论

git很好很强大

最近把版本管理系统换成git了,果然非常好用,难怪大家都在推荐。

首先不要有心理障碍,那些名词都是吓唬人的。所谓的“非线性开发”无非是指强大的branch和merge的能力,“分布式版本管理”就是说每人自己都有一套本地的repository,不存在一个集中的版本服务器。

给我带来的最直接的好处有:

  1. 傻瓜都会的初始化,git init, git commit -a, 就完了。对于随便写两行代码就要放到SCM里的人来说,再合适不过。也可以拿git做备份系统,或者同步两台机器的文档,都很方便。
  2. 绝大部分操作在本地完成,不用和集中SCM服务器交互,终于可以随时随地大胆地check in代码了。
  3. branch管理容易多了,无论是建立新的branch,还是在branch之间切换都一条命令完成,不需要建立多余的目录。
  4. branch之间merge时,不仅代码会merge在一起,check in历史也会保留,这点非常重要。

工具之所以好,除了方便好用,还在于它帮助并鼓励你做正确的事情。频繁check in是一件很好的事情,好处我不多说了,git就鼓励你频繁check in。branch也是一件好事情,我们大多很怕branch因为它太麻烦了,去掉这层心理包袱,branch可以让我们的开发工作很有条例。

还有一些实用的功能,比如bisect,用二分法来寻找regression,你以前手动做过这种事么?我做过。以后如果要做就不会怕了。还有stash,做hot fix非常方便。

如果正在用svn,劝服所有合作开发者使用git之前,可以先用git-svn,和svn整合得非常好。

分布式版本管理系统取代集中式版本管理系统,只是时间的问题了。

9 条评论

Recent Posts:

Recent Comments:

Archive:

Tags:

Bookmarks:

My music:

About Me:

I am a software engineer in Beijing, China. I write code for work and for fun. I am interested in web technology, life hacking and console games. This blog is dumped from my left brain.
View Robin Lu's profile on LinkedIn

My Flickr:

    scribbleAt Modern Sky Music FestivalIMG_0389IMG_0312urumqi panaramaIMG_9664

Friends: