給大家分享一些分布式版本控制系統。
什么是git?
Git是一款免費、開源的分布式版本控制系統,用于敏捷高效地處理任何或小或大的專案。說簡單點,git是一款代碼管理工具。
說起svn,也許大家都不陌生。雖然git及svn都是版本控制工具,但是兩者有著本質的區別。最大區別在于,git是分布式,而svn是集中式。分布式相比于集中式的最大區別在于開發者可以提交到本地,每個開發者機器上都是一個完整的資料庫。
Git的功能特性:
從一般開發者的角度來看,git有以下功能:
從服務器上克隆資料庫(包括代碼和版本資訊)到單機上;
在自己的機器上創建分支,修改代碼;
在單機上自己創建的分支上提交代碼;
在單機上合并分支;
新建一個分支,把服務器上最新版的代碼fetch下來,然后跟自己的主分支合并;
生成補丁(patch),把補丁發送給主開發者;
看主開發者的反饋,如果主開發者發現兩個一般開發者之間有沖突(他們之間可以合作解決的沖突),就會要求他們先解決沖突,然后再由其中一個人提交。如果主開發者可以自己解決,或者沒有沖突,就通過;
一般開發者之間解決沖突的方法,開發者之間可以使用pull命令解決沖突,解決完沖突之后再向主開發者提交補丁。
從主開發者的角度(假設主開發者不用開發代碼)看,git有以下功能:
查看郵件或者通過其它方式查看一般開發者的提交狀態;
打上補丁,解決沖突(可以自己解決,也可以要求開發者之間解決以后再重新提交,如果是開源專案,還要決定哪些補丁有用,哪些不用);
向公共服務器提交結果,然后通知所有開發人員。
Git的優缺點
優點:
適合分布式開發,強調個體
公共服務器壓力和資料量都不會太大
速度快、靈活
任意兩個開發者之間可以很容易的解決沖突
離線作業
缺點:
資料少
學習周期相對而言比較長
不符合常規思維
代碼保密性差,一旦開發者把整個庫克隆下來就可以完全公開所有代碼和版本資訊
Gitlab是什么?
說起gitlab,不得不提的是github。作為開源代碼庫以及版本控制系統,Github擁有140多萬開發者用戶。隨著越來越多的應用程式轉移到了云上,Github已經成為了管理軟體開發以及發現已有代碼的首選方法。
Github是公共的git倉庫,而Gitlab適合于搭建企業內部私有git倉庫。總之,GitLab是一個開源應用程式,擁有與Github類似的功能,使用git作為代碼管理工具,并在此基礎上搭建起來的web服務。
GitHub可以托管各種git庫,并提供一個web界面,但與其它像 SourceForge或Google Code這樣的服務不同,GitHub的獨特賣點在于從另外一個專案進行分支的簡易性。為一個專案貢獻代碼非常簡單:首先點擊專案站點的“fork”的按鈕,然后將代碼檢出并將修改加入到剛才分出的代碼庫中,最后通過內建的“pull request”機制向專案負責人申請代碼合并。已經有人將GitHub稱為代碼玩家的MySpace。
Gitlab鏡像環境
如果您想自建代碼版本控制的環境,gitlab鏡像環境是一個不錯的選擇。我們的GitLab代碼管理(Centos 64位 | GitLab)鏡像環境,不用安裝配置,詳細的幫助說明檔案,讓您方便快捷的立即體驗gitlab環境,當然您也可以根據自己的需求,選擇駐云svn鏡像環境。
gitlab鏡像環境(及所有駐云鏡像環境),我們一直追求開源精神。鏡像環境均免費使用,免費的技術支持與幫助。并且有一點不可忽略的是,我們開放鏡像環境安裝腳本。安裝程序完全透明化。即使您不選擇鏡像環境,您也可自行使用安裝腳本,在相應系統上自行初始化安裝。
本文有什么不足的地方,希望大家多多補充以及拍磚!
也歡迎大家來信進行更多交流:[email protected]
uj5u.com熱心網友回復:
人反而如果認購人感染uj5u.com熱心網友回復:
這么復雜啊?轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/94335.html
標籤:云存儲
上一篇:如何學習超算
