天天看點

學習github心得

Git 是 Linux 的創始人 Linus Torvalds 開發的開源和免費的版本管理系統,利用底層檔案系統原理進行版本控制的工具。Git是目前為止最著名運用最好最受歡迎的分布式的配置管理工具。

重點:

1、  Git托管網站:GitHub、CodePlex、Gitorious、Unfuddle 

逐漸流行起來的開源項目托管網站,提供豐富的功能,包括團隊管理伺服器或靈活項目源控制、項目共享協作、項目釋出下載下傳、論壇和郵件、維基和文檔頁、BUG和跟蹤請求的功能、項目使用統計,這些服務都是根據複雜度要進行收費的。如:提供圖、表、流程圖共項目成員查閱每個檔案、目錄、項目的變化程序。如:http://gitweb.codeplex.com/(中央倉庫)、http://gitscc.codeplex.com,Git Source Control Provider

2、  Git采用雜湊演算法快照存儲、富有Linus Torvalds速度怪物的核心,搜尋速度奇快,三向合并法實作自動合并。

3、  支援協定:本地協定(OS目錄通路)、SSH、Git、HTTP

4、  Git伺服器配置複雜

5、 在本地倉庫裡,大家可以任意的修改和增加分支,最後送出到中央倉庫,由中央倉庫自動合并分解,而且這裡的合并是智能的不需要人工,它會找到共同的父節點,知道兩者的變化都是新增的。

6、  Git是分布式版本管理系統,以檔案系統管理為原理的新的版本管理系統。使用規則與VSS、CVS、SVN都有很大不同,以pull、push為主的資料管理方式,主張項目主持人的管理模式,不認同項目成員每天及時送出代碼至中央倉庫的做法,一切送出到中央倉庫的源代碼都通過項目主持人确認,并經過仔細删除過程記錄後,上傳至中央倉庫。應用不當可能造成很多問題,如:不同版本裡出現同一的檔案名及内容,儲存都是唯一的一個檔案,可能會造成問題追蹤的困擾。

7、  Git和Jenkins互相相容,正在向各個開發環境相容,目前已經相容了Eclipse,目前網上熱炒的配置管理系統。

我個人的感受:

    如果是開源的項目,通過網站托管方式進行統一管理,當然是非常棒的,并且有很多功能,如果不能開源,僅搭建内部Git伺服器進行配置管理,團隊管理部分的功能就需要自己開發,相比其他配置工具,在這方面沒有太大的優勢,當然在各大開源網站上已經有大量這方面的實作共享出來,但離系統的管理需求還是有很大距離。另外Git的項目釋出與JENKINS的結合絕對值得期待,因為JENKINS也是支援大量團隊管理平台,如:支援Microsoft TFS、Oracle P4、Rational ClearCase,且支援多程序、複雜邏輯關系的任務管理,這兩個最有前途的開源工具的結合很值得期待。