什么是Git

Gitv是目前世界上最先進(jìn)的分布式版本控制系統(tǒng)。

  那我們?yōu)槭裁葱枰獙W(xué)習(xí)Git呢?因?yàn)樵谖覀儌鹘y(tǒng)的java自學(xué)中,所有的項(xiàng)目都是自己獨(dú)立開(kāi)發(fā)完成,而且項(xiàng)目基本都是小型項(xiàng)目,在優(yōu)化和體驗(yàn)上往往比不了正規(guī)的公司產(chǎn)品。而當(dāng)我們進(jìn)入公司,正式參與到公司的大規(guī)模項(xiàng)目中,你就會(huì)發(fā)現(xiàn),一個(gè)項(xiàng)目都是由5-20甚至更多的程序員合作開(kāi)發(fā)的,而合作開(kāi)發(fā)的東西就需要一個(gè)版本控制器,一方面記錄每次更新的代碼版本,一方面把各個(gè)程序員開(kāi)發(fā)的東西拼接到一起,因此我們就需要用到Git。

    

git的整個(gè)運(yùn)行模式就像上圖顯示的這樣子,每個(gè)程序員先從GIT庫(kù)中拉取項(xiàng)目代碼到自己的電腦上,然后在自己的電腦上寫好相應(yīng)的代碼后再提交到git庫(kù)中。這樣別人從git庫(kù)拉取的代碼就是你補(bǔ)充過(guò)的項(xiàng)目代碼了。

  

  而具體的過(guò)程,就是如上圖所示,從云git拉取代碼修改后commit提交再plush到云庫(kù)。在這期間如果有其他人拉取的和你是同一個(gè)版本,且提交做出修改的內(nèi)容有沖突(修改同一個(gè)java類)。最簡(jiǎn)單的方法就是從云庫(kù)再拉取一遍,在本地合并或者修改成一個(gè)統(tǒng)一的版本,再提交到云庫(kù)的新版本。(在實(shí)際開(kāi)發(fā)中,建議每次plush時(shí)都拉取一下最新的版本,以免產(chǎn)生沖突)

Git是以修改的不同為記錄,而不是整個(gè)文件。 每次提交和拉取的代碼其實(shí)都不是整個(gè)項(xiàng)目,而是期間版本發(fā)生過(guò)改變的,可能是一個(gè)類,可能是幾個(gè)類,極大的簡(jiǎn)便了我們。

 同時(shí),Git也因此而強(qiáng)大。因?yàn)檫@種機(jī)制,GIT可以很輕松的做“時(shí)光倒退”等操作,假如你對(duì)最新一次提交不滿意,可以操作回到之前的版本。  而且可以拿出兩個(gè)版本的具體不同代碼,做出對(duì)比。

 

Egit的安裝

  作為學(xué)習(xí)java不久的我們,學(xué)習(xí)GI