最近把版本管理系統換成git了,果然非常好用,難怪大家都在推薦。
首先不要有心理障礙,那些名詞都是嚇唬人的。所謂的“非線性開發”無非是指強大的branch和merge的能力,“分布式版本管理”就是說每人自己都有一套本地的repository,不存在一個集中的版本服務器。
給我帶來的最直接的好處有:
- 傻瓜都會的初始化,git init, git commit -a, 就完了。對于隨便寫兩行代碼就要放到SCM里的人來說,再合適不過。也可以拿git做備份系統,或者同步兩臺機器的文檔,都很方便。
- 絕大部分操作在本地完成,不用和集中SCM服務器交互,終于可以隨時隨地大膽地check in代碼了。
- branch管理容易多了,無論是建立新的branch,還是在branch之間切換都一條命令完成,不需要建立多余的目錄。
- branch之間merge時,不僅代碼會merge在一起,check in歷史也會保留,這點非常重要。
工具之所以好,除了方便好用,還在于它幫助并鼓勵你做正確的事情。頻繁check in是一件很好的事情,好處我不多說了,git就鼓勵你頻繁check in。branch也是一件好事情,我們大多很怕branch因為它太麻煩了,去掉這層心理包袱,branch可以讓我們的開發工作很有條例。
還有一些實用的功能,比如bisect,用二分法來尋找regression,你以前手動做過這種事么?我做過。以后如果要做就不會怕了。還有stash,做hot fix非常方便。
如果正在用svn,勸服所有合作開發者使用git之前,可以先用git-svn,和svn整合得非常好。
分布式版本管理系統取代集中式版本管理系統,只是時間的問題了。
posted on 2009-12-09 11:38
大日如來 閱讀(510)
評論(0) 編輯 收藏 引用 所屬分類:
游戲-編程