1.gitgit
Git是什麼? Git是目前世界上最早進的分佈式版本控制系統。程序員
SVN是集中式版本控制系統。瀏覽器
Git與svn比較
相同:能記錄文件的全部更改記錄。這樣是爲了大量更改後,能夠有記錄回到過去,而不用採用 Copy 舊代碼另存爲某文件,而後某個時間從大量文件中找你須要的歷史記錄,版本控制幫咱們作到了歷史記錄的存儲,能夠方便地查詢及回滾到過去的某一版本。
區別:分佈式相比於集中式的最大區別在於開發者能夠提交到本地,每一個開發者經過克隆(git clone),在本地機器上拷貝一個完整的Git倉庫。服務器
SVN 是集中式系統,版本庫是集中放在中央服務器的,而幹活的時候,用的都是本身的電腦,因此首先要從中央服務器哪裏獲得最新的版本,而後幹活,幹完後,須要把本身作完的活推送到中央服務器。集中式版本控制系統是必須聯網才能工做,若是在局域網還能夠,帶寬夠大,速度夠快,若是在互聯網下,若是網速慢的話,就不方便了。
Git 是分佈式版本控制系統,那麼它就沒有中央服務器的,每一個人的電腦就是一個完整的版本庫,這樣,工做的時候就不須要聯網了,由於版本都是在本身的電腦上。既然每一個人的電腦都有一個完整的版本庫,那多我的如何協做呢?好比說本身在電腦上改了文件A,其餘人也在電腦上改了文件A,這時,大家兩之間只需把各自的修改推送給對方,就能夠互相看到對方的修改了。
Git最爲出色的是它的合併追蹤(merge tracing)能力。
2.Gerrit
Gerrit是一個創建在Git版本控制系統之上,基於Web的代碼審查工具。
Gerrit是一種免費、開放源代碼的代碼審查軟件,使用網頁界面。利用網頁瀏覽器,同一個團隊的軟件程序員,能夠相互審閱彼此修改後的程序代碼,決定是否可以提交,退回或者繼續修改。
代碼審覈(Code Review)是軟件研發質量保障機制中很是重要的一環,但在實際項目執行過程當中,卻由於種種緣由被Delay甚至是忽略。在實踐中,免費、開放源代碼的代碼審查軟件Gerrit是一個很好的選擇。
它在傳統的源碼管理協做流程中強制性引入代碼審覈機制,經過人工代碼審覈和自動化代碼驗證過程,將不符合要求的代碼屏蔽在代碼庫以外,確保核心代碼多人校驗、多人互備和自動化構建覈驗。
Gerrit適用性:幾乎任何須要正式發佈的項目都應當使用Gerrit來進行代碼審查,若是Team中有新人,必須使用Gerrit確保代碼質量。分佈式
Gerrit上進行代碼審查,確認入庫svn
Verify:工程裏面接入了jenkins自動verify,結果可在上圖紅框內展現verify結果。工具
review代碼,提交入庫。spa
3.sourceTree
SourceTree 是 Windows 和Mac OS X 下免費的 Git 和 Hg 客戶端管理工具,同時也是Mercurial和Subversion(SVN)版本控制系統工具。
支持建立、克隆、提交、push、pull 和合並等操做。它擁有一個精美簡潔的界面,大大簡化了開發者與代碼庫之間的Git操做方式,這對於那些不熟悉Git命令的開發者來講很是實用。(百度百科)
SourceTree 是一個Git代碼管理的圖形化工具。由於Git 默認只能使用命令行模式進行一系列的操做,這個工具,整個使用了圖形化。能帶領小白們,迅速的體驗到Git 的好處。
SourceTree擁有完整的Git功能:
-
經過一個簡單的用戶界面便可使用全部的Git命令
-
經過一次單擊,便可管理全部的Git庫,不管是託管的仍是本地的
-
經過一次單擊,便可進行commit、push、pull、merge等操做
-
一些先進的功能,如補丁處理、rebase、shelve、cherry picking等