本人實習生,面試的時候被問到平時使用什麼版本控制系統.我問了一句什麼是版本控制系統,就被掛了.
之前在學校確實不知道有版本控制系統這個概念,現在想學習一下,不知道有學哪個好,貌似有好多,什麼git,svn,cvs.一般都是用哪個? 有什麼資料適合初學者的?
大家讲道理2017-05-02 09:23:59
git和svn都是比較主流的版本管控工具,身為實習生,建議對這兩個都要有最基本的認知。
他們的作用都是管理程式碼,版本控制,有助於程式碼保護和團隊成員的協同開發。
而它們的不同,簡單來講就是管理方式的不同。在實際使用上的體現就是,svn相對更容易的實作了單線的版本控制,方便的解決程式碼的衝突。而git相對較方便的實現靈活的分支管理。
目前兩個都在網路上有比較完整的資料以供學習,都是比較容易掌握的。
有可能的話,都應該學會,畢竟技術不會嫌多,特別是有用的。而且,你未來的公司用什麼並不確定,掌握的更全面,會讓找工作的路也更寬。
高洛峰2017-05-02 09:23:59
1.vcs(version control system)是開發中不可缺少的工具,有掌握的必要性,面試中說不知道cvs,是挺尷尬而且不應該的一件事兒。
2.vcs 有很多種實現,git/svn/tfs,每個cvs的實現想法都有所不同,使用體驗也不同。例如,tfs/svn都是依賴中心伺服器的vcs,git是分散式vcs,所以git工作起來比tfs/svn快一些。
3.你可能需要建立一種快速認識和學習一項技術的技能,當然這和開發經驗有很大的聯繫,不過經驗也是慢慢累積起來的不是一日之功。
4.如果自學能力比較強的話,建議直接學習git,git book,git pro都是很好的教材,不只包括git知識,還有關於cvs思想的介紹。另外有很多其他的學習資源,像是qq群,實驗大樓,很多公開課,部落格之類。
5.git是很流行的cvs,有強大的社群力量,經驗告訴我,學習開發技術,社群是重要的資源,交流使開發者進步。有社群的學習和沒有社群的學習有本質上的不同。另外,在學習git的過程中可以直接使用github.com的服務,將程式碼託管到github伺服器。
阿神2017-05-02 09:23:59
學習git吧,現在不提分散式都不好意思說你是學計算機的,學習git資料的話,我在github上有篇整理,目前star 580+,fork 170+ ,個人感覺還是不錯的,地址: https://github.com/xirong/my-git
巴扎黑2017-05-02 09:23:59
版本控制透過文件控制(documentation control)記錄程式各個模組的改動,並為每次改動編上序號。這種方法是工程圖(engineering drawings)維護(maintenance)的標準做法, 它伴隨著工程圖從圖的誕生一直到圖的定型。 一種簡單的版本控制形式,例如,賦給圖的初版一個版本等級「A」。當做了第一次改變後,版本等級改為“B”,以此類推等等。
http://baike.baidu.com/view/183136.htm
PHP中文网2017-05-02 09:23:59
用git吧.
我們以前用的svn,主幹開發,線上版本打分支.這種模式,1週發布一次版本,或者2週發布一次,各種痛苦.
現在改用git,嚴格走git work flow,每天一版,各種補丁,各種暢快.