080329 dvcs-vs

14
分布式源代碼管理工봨팩樊 集市、水銀及밓樊

Upload: zoom-quiet

Post on 12-Nov-2014

1.386 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 080329 dvcs-vs

分布式源代碼管理工具簡介

集市、水銀及其它

Page 2: 080329 dvcs-vs

版本變更與管理

人是會犯錯誤的代碼是需要不斷修改和維護的

新版本新分支分支合并裏程碑補丁

人是會犯錯誤的代碼的變更需要跟蹤管理

人是會犯錯誤的我們需要代碼管理工具的幫助

Page 3: 080329 dvcs-vs

代碼管理與團隊合作

多人合作加劇了代碼管理的難度多人修改同一工程多人修改同一代碼文件

測試驅動開發的需要樁模塊驅動模塊

團隊工作需要技術手段的支持辦公室异地開發社區式開發

Page 4: 080329 dvcs-vs

管理理念與工具選擇──集中式管理 VSS

簽出即鎖鎖決定一切尊重公權交接,強調項目安全

CVS廣泛的選擇可能久經考驗復雜的配置管理

SVN更好的CVS事務管理與控制靈活多樣的配置與Apache的良好集成rename支持

Page 5: 080329 dvcs-vs

管理理念與工具選擇──從集中走向分布

VSS──鎖定與商議CVS/SVN──提倡沖突/解決思想,提倡交流與合作DCVS──

分階段管理,分布式管理為每個人提供自己的版本管理空間提供靈活的版本變更利于松散合作靈活方便的分支合并,為無限可能的合作提供可能健壯、靈活,強大的抗災變能力

Page 6: 080329 dvcs-vs

Bazaar VS Mercurial(個人體驗,僅供參考)

Bazaar精巧完備的功能方便而豐富的命令行操作簡單高效的合作理念直觀強大的版本提取與合并功能

Mercurial經受住超級項目的考驗

MozillaOpenJDK

簡單直接的工作方式健壯、堅固,流暢無阻的跨越各平台NetBeans內置支持

Page 7: 080329 dvcs-vs

安裝

Bazaar:安裝Python+Bazaar包編譯源碼安裝TortoiseBzrinstall apt-get install bzr

注意事項bzr.bat不在path中小烏龜安裝困難

Mercurial(Hg,水銀=汞)安裝二進制包編譯源碼安裝TortoiseHg

注意事項還沒有最新版安裝包(0.9.5版已相當成熟)Windows版編譯比較復雜

Page 8: 080329 dvcs-vs

第一步──建倉

bzr initbzr init-repo

hg init

Page 9: 080329 dvcs-vs

個人日常工作

將文件加入倉庫bzr add ...使用 bzr ignore ... 記錄要略過的部分

查看變更bzr diff

寫入倉庫bzr commit -m "..."

取消修改bzr updatebzr revert

將文件加入倉庫hg add ...使用 -X 匹配要略過的部分

查看變更hg diff

寫入倉庫hg commit -m "..."

取消修改hg update -Chg rollbackhg revert

Page 10: 080329 dvcs-vs

文件管理

刪除bzr rm

復制bzr cp

移動/改名bzr mv/rename

查看文件bzr ls

查看狀態bzr status

查看歷史bzr log

刪除hg rm

復制hg cp

移動/改名hg mv/rename

查看歷史hg loghg viewer

強大的正則搜索hg grep

查看狀態hg status

Page 11: 080329 dvcs-vs

與團隊共享

分支bzr branch to_path

獲取其它倉庫的變更bzr pull from_path

向其它倉庫發布變更bzr push to_path

發布單個補丁bzr send -o to.patch

接受補丁bzr merge from.patch

克隆hg clone to_path

獲取其它倉庫的變更hg pull from_path

向其它倉庫發布變更hg push to_path

發布單個補丁hg send -o to.patch

接受補丁hg merge from.patch

Page 12: 080329 dvcs-vs

每一個版本都是一個分支

顯式加標簽bzr tag

查看標簽bzr tags

強大的版本號集合功能bzr xxx -r [start]..[end]

支持單倉庫顯式分支hg branch [name]

分支合并hg merge

顯式加標簽hg tag

查看標簽hg tags

變更集changesets

Page 13: 080329 dvcs-vs

Bazaar 勝出!

智能文件修改版本號集合處理方便的補丁傳遞支持HTTP服務支持FTP服務支持SFTP服務內置友好的Bazaar Smart Server

Page 14: 080329 dvcs-vs

Mercurial 勝出!

小烏龜安裝方便Windows安裝包友好健壯的跨平台工作能力強大的正則表達式匹配