Git相關概念介紹
網上搜git的時候會看到一大堆git相關名詞:Git、Github、Gitlab、Gitblit、msysgit、egit、TortoiseGit,然後就各種頭疼~
初學Git的朋友對於Git的一些概念和一系列衍生的東西感覺到非常難以理解,總是把一些概念給混淆,下面我總結一下常用到Git相關的工具以及介紹一下具體的功能,為了讓大家能夠快速的理解,介紹的時候沒有用到官方解釋,都是自己理解的老百姓話,這樣理解起來應該會容易一些!
另外這裡只是介紹,讓大家明白Git的一些概念,方便大家網上學習的時候不會搞亂,至於如何使用會在後續文章中慢慢教。
Git
這是一個統稱,我們叫“分散式版本管理系統”,怎麼理解“分散式版本管理系統”?用過SVN的人應該都清楚啥叫版本管理系統了,Git相對於SVN,就是在SVN的基礎上把每個使用者的電腦都當成了一臺伺服器,所以才會加上“分散式”三個字。當然不要太糾結於這個東西,因為Git可以理解為一個概念或者一系統產品的統稱,具體要學習的還是下面的內容。
Github、Gitlab、Gitblit
既然Git是一個版本管理系統,那麼肯定得有伺服器來儲存一些資料吧,這個伺服器你可以有兩種選擇,一種是自己搭建伺服器,一種是用雲端的伺服器,在SVN中只能自己搭建伺服器,這也算是Git的一個特點吧。
如果你選擇自己搭建伺服器,那麼就需要用到Gitblit這個東西,這是一個Git伺服器端,直接執行就相當於搭建了一個git伺服器。
如果你選擇使用雲端伺服器,那麼有兩種選擇,Github或者Gitlab,嚴格來說這是兩個網站,他們支援你去註冊一個賬號,然後建立自己的倉庫,和阿里雲的概念有點像,但是既然是雲端的東西,那麼就存在一個現象,那就是公開,當然你建立的倉庫可以自己選擇是公開還是私有,Github和Gitlab都支援公開和私有兩種方式,但是Github的私有庫是需要收費的,gitlab的不用。有人就要說了,既然有云端的伺服器,而且還支援私有庫,那大家都用雲端不就完事了嗎?這裡需要考慮到一個問題,那就是資料和程式碼的保密性,所謂雲端是儲存在別人的伺服器上,而不是自己的,所以對於個人來說,可以使用雲端伺服器,而對於公司來說可以選擇自己搭建伺服器。
msysgit
上面說了git的伺服器端,伺服器和客戶端這兩個詞在任何時候都是繫結在一起的,既然有服務端提供服務,那麼肯定有客戶端來使用,msysgit就是git的客戶端,安裝msysgit後會有一個git bash的工具可以執行,其實就是打開了一個客戶端視窗,可以在裡面敲客戶端命令,和linux系統差不多,客戶端可以做很多事情,下載資料、提交資料、打分支什麼的,SVN能幹的事他都能幹。
TortoiseGit
這個東西是一個git的客戶端外殼,怎麼理解呢?msysgit上面說了可以開啟一個黑視窗敲命令,但是這種方式比較原始,就好像現在哪還有人在編譯JAVA的時候通過cmd視窗去編譯時一個道理,所以就有人做了這個客戶端外殼工具,TortoiseGit把msysgit所有的命令都封裝了一下,幫你做了一些介面,然後把命令放到滑鼠右鍵選單裡面去了,你通過滑鼠右鍵上的選單配合介面就可以完成msysgit做的任何事,這樣一來程式猿就不需要記那麼多的命令了,這多方便~
egit
程式猿幹活肯定不是在資源管理器裡面,都是在編碼工具中,JAVA程式猿一般都是用eclipse,而在eclipse開發專案的時候,要經常性的更新程式碼和提交程式碼,總不能每次都到黑視窗中去提交吧,也不能總開啟資源管理器通過右鍵選單提交吧,這樣多麻煩,所以這就出現了egit這個eclipse外掛,只要在eclipse中安裝這個外掛,那麼就可以直接在eclipse中進行git客戶端的所有操作,非常方便~
不知道現在大家對於這些概念是否可以理解了呢?這樣大家就可以針對不同的需求去學習了,比如如果你只是公司專案中需要用到git做版本管理的話,那麼學習一下egit,把外掛安裝到eclipse中,然後看看怎麼在eclipse中進行程式碼更新、提交等一些列操作就完全可以了,其它的都不用管。
轉自:http://blog.csdn.net/duanwu2330323/article/details/77994203