版本控制工具有很多,比如CVS,SVN,Perforce,Git等,介紹自己用過(guò)的一個(gè)即可。
這邊主要介紹Git。
Git 是一個(gè)快速、可擴(kuò)展的分布式版本控制系統(tǒng),它具有極為豐富的命令集,對(duì)內(nèi)部系統(tǒng)提供了高級(jí)操作和完全訪問(wèn)。
版本控制
簡(jiǎn)單地說(shuō),就是將在本地開(kāi)發(fā)的代碼,定時(shí)推送到服務(wù)器。每一次修改,記錄下它的作者、時(shí)間及修改說(shuō)明等。
相對(duì)的,我們也可以從服務(wù)器下拉其他人推送的代碼,并了解它的作者、時(shí)間、修改說(shuō)明及其具體的修改內(nèi)容。
這樣,版本控制給團(tuán)隊(duì)協(xié)作開(kāi)發(fā)提供了極大的方便。即使是一個(gè)人開(kāi)發(fā),因?yàn)樗涗浵铝宋覀冋麄€(gè)的開(kāi)發(fā)歷史,也是極有幫助和價(jià)值的。
比如,如果某次修改甚至整個(gè)系統(tǒng)出現(xiàn)問(wèn)題,它也能幫助找回我們珍貴的代碼。
分布式版本控制
更進(jìn)一步,分布式版本控制工具使得我們?cè)诒緳C(jī)上即擁有完整的功能,不依賴于服務(wù)器,使用更為方便。它們往往也提供其它更好用或更強(qiáng)大的功能,比如靈活的分支管理。
Git 工作流程
使用中央服務(wù)器輔助協(xié)作;
每人在服務(wù)器擁有一個(gè)以自己 id 為名稱的分支;
各人只許推送更新到自己的分支,不允許推送到別人的分支或者 master;
master 由專人管理,在合適時(shí) merge 其它分支(開(kāi)發(fā)初期每日自動(dòng) merge 各人分支,生產(chǎn)化后則由人工 merge 經(jīng)過(guò) review 的分支);
代碼修改 merge 到 master 后,將同步到所有終端。