日常啰嗦
還好在第一篇文章里就列好了接下來的主線及要寫的知識點,不然都不知道要寫什么東西了,開篇里已經(jīng)列了基礎篇要講svn和git的知識點,所以這一篇就寫一下版本控制。
項目實際效果展示在這里,賬密:admin 123456
下載地址,點這里
github地址,在這里
版本控制的定義
維基百科的解釋:版本控制(Revision control)是維護工程藍圖的標準作法,能追蹤工程藍圖從誕生一直到定案的過程。此外,版本控制也是一種軟體工程技巧,借此能在軟體開發(fā)的過程中,確保由不同人所編輯的同一程式檔案都得到同步。
由這個概念中我們得出兩個版本控制的關鍵點,一個是記錄,一個是同步。
為什么要用版本控制?
沒有版本控制系統(tǒng)的話,代碼可能被別人或自己不小心覆蓋或遺失、也不知道是誰因為什么原因改了這段代碼、也沒辦法可以復原回前幾天的修改。有了版本控制系統(tǒng),開發(fā)人員只要將每次開發(fā)的變更都紀錄(Commit)起來,并且透過版本控制系統(tǒng)中進行更新。
每個人都在修改、添加、刪除著自己本地硬盤上的代碼,當他們把這些代碼匯總起來時,麻煩出現(xiàn)了,總不能每次都去copy代碼然后把文件傳給其他人。還有,到底誰改了哪些文件,具體是文件里的哪部分被改動過?一個人的修改會不會把另外一個人的修改給覆蓋掉?上線前,代碼匯總的工作變得非常危險,需要非常小心,一旦出錯后果不堪設想,而且這種情況下,大家的工作不僅僅是開發(fā),無形中,給所有人增加了很多工作量,效率將會變低,如果某個地方出錯,可能代碼匯總的工作又要重來一遍。這只是兩三人的小團隊,如果是幾十人幾百人的大團隊呢?那將會是噩夢,當然,幾百人的團隊也不可能出現(xiàn)這種情況,我們只是做一個假設。
如果這個團隊采用了版本控制。我們可以瀏覽所有開發(fā)的歷史紀錄,而且作任何修改都不再害怕,因為你可以輕易的復原回之前正常的版本,版本控制工具也會在每次提交的時候主動合并所有人的修改并解決可能發(fā)生的沖突,每個人手里一直都是匯總好的代碼。當開發(fā)進行到一定階段,可以直接拿去測試,不需要再有額外的工作來浪費時間。另外,你還可以知道,程序的某個Bug是怎么出現(xiàn)的,是被哪位同事,在哪個時間點造成的,最重要的一點是,不怎么需要刻意去去可以問一下開發(fā)人員進行到哪一步,通過版本控制,掌握團隊的開發(fā)進度,對整個開發(fā)流程有很大的幫助。版本控制工具中也有很多其他功能,我們也可以透過分支和標簽的功能