1.git
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上進行代碼審查,確認入庫
Verify:工程里面接入了jenkins自動verify,結果可在上圖紅框內展示verify結果。
review代碼,提交入庫。
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等