01 源代碼管理工具 概述
源代碼管理工具的起源
-
為什麼會出現源代碼管理工具?
為了解決在軟體開發過程中,由源代碼引發的各種蛋疼、繁瑣的問題
-
源代碼會引發哪些問題?
無法後悔:做錯了一個操作後,沒有後悔藥可以吃
版本備份:費空間、費時間
版本混亂:因版本備份過多造成混亂,難于找回正确的想要的版本
代碼沖突:多人操作同一個檔案(團隊開發中的常見問題)
權限控制:無法對源代碼進行精确的權限控制
追究責任:出現了嚴重的BUG,無法得知是誰幹的,容易耍賴
… …
- 源代碼管理工具就是為了解決上述問題而生的!此乃軟體開發的一大福音!
源代碼管理工具的作用
-
概括一下,源代碼管理工具的作用是
能追蹤一個項目從誕生一直到定案的過程
記錄一個項目的所有内容變化
友善地查閱特定版本的修訂情況
… …
現在就開始使用源代碼管理工具
- 如果是團隊開發,使用源代碼管理工具是強制性的!
- 如果是單人開發,也強烈建議現在就開始使用源代碼管理工具
-
使用源代碼管理工具
由于使用簡單,不會增加工作量
不會對現有工作造成任何損害(壞的影響)
是一位合格的軟體開發人員必須掌握的技術
常見的源代碼管理工具
-
CVS
開啟版本控制之門
1990年誕生,“遠古時代”的主流源代碼管理工具
-
SVN
全稱是Subversion,集中式版本控制之王者
是CVS的接班人,速度比CVS快,功能比CVS多且強大
在國内軟體企業中使用最為普遍(70%~90%)
-
GIT
一款偉大的分布式源代碼管理工具
目前被越來越多的開源項目使用
不過在國内企業尚未大範圍普及
02 源代碼管理工具 SVN
主要内容
- 基本操作
- 伺服器端按照配置
- 用戶端軟體使用
- 與Xcode的內建
基本操作

1.checkout是将伺服器上的代碼下載下傳到本地(下載下傳所有檔案)
2.commit是将本地修改之後的檔案送出到伺服器(隻送出修改之後的)
3.update是将伺服器上的代碼更新到本地(隻會更新被修改的檔案)
SVN版本控制政策
拷貝-修改-合并 方案(svn,cvs采用)
其他版本控制政策
鎖定-修改-解鎖方案(vss)
關于集中式和分布式的差別:
- http://zhidao.baidu.com/question/32338956.html?qbl=relate_question_4&word=%BC%AF%D6%D0%CA%BD%20%B7%D6%B2%BC%CA%BD
- http://wenku.baidu.com/link?url=SnoaUsca-yywky7AcvZWvQpYxHP1UhPtggw3cJggUZHyDscSCZyJtp2a7XT5I8hgYW6tM09fvZjTTq5DrGIf6I6X9ubHTBahZkjaxgcoVGi
- http://baike.baidu.com/link?url=amd48_OZDAdH7XQWaBsnxTmCfrkLLM8pizR3gtPETXF7cc1yk3nv_CpBVjxxoDl8YXP–Uh2tIVjiRYVvkwWSq