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 条评论

Asshole Driven Development

Scott Berkun,The art of Project Management的作者,最新总结出一套开发方法,是那么的似曾相识:

Asshole Driven development (ADD)

团队中重大决定掌握在最操蛋的人手里。所有的智慧、逻辑和流程在Mr. Asshole到来的一刻都灰飞烟灭。也许有规则,也许有process,但被Mr. Asshole全部打破,其他人只有跟随。

Cognitive Dissonance development (CDD)

团队里存在两派,对于产品应该如何完成有着截然不同的观点。两股势力在各种会议和表达个人意见的时候都表现出强烈的冲突(war meeting, there’s a name for such thing),完全只按照个人意愿来定义项目。

Cover Your Ass Engineering (CYAE)

我们所做的一切只为了不让屎盆不扣在自己头上。

Development By Denial (DBD)

大家都假装自己有办法搞定,事情发展一切良好(The future is so bright….),而实际上早就乱成一团糟。事情越糟糕,大家越不愿意承认现实,这成了他们能够让自己解脱的唯一方式。

Get Me Promoted Methodology (GMPM)

大家做这做那只为了让自己更醒目,满足老板的奇思怪想,让自己能够快点升职。他们可以为此人为地制造麻烦借此创造英雄,做立竿见影却后患无穷的鲁莽修改,做表面文章胜过创造真正的价值。

当大家都清楚自己在创造垃圾却无法摆脱,当最重要的事情是迎合你的老板,当只有踩倒了别人你才能再上一步,你还能做什么?

谢天谢地我不用再经历那一切了。

4 条评论

过程与控制

今天在一个藏袍看到一篇有趣的文章,是关于如何成功地从起点走到目标,其中过程和控制的关系等等。
感觉他应该是一个幸福的人,有那么多可以达到目标的途径。
为什么我总经历这样的过程?

过程和控制

3
(蓝线表示控制,对过程的控制。)

2 条评论

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:

    drawingAt Modern Sky Music FestivalIMG_0389IMG_0312urumqi panaramaIMG_9664

Friends: