什么是Git
Gitv是目前世界上最先進的分布式版本控制系統。
那我們為什么需要學習Git呢?因為在我們傳統的java自學中,所有的項目都是自己獨立開發完成,而且項目基本都是小型項目,在優化和體驗上往往比不了正規的公司產品。而當我們進入公司,正式參與到公司的大規模項目中,你就會發現,一個項目都是由5-20甚至更多的程序員合作開發的,而合作開發的東西就需要一個版本控制器,一方面記錄每次更新的代碼版本,一方面把各個程序員開發的東西拼接到一起,因此我們就需要用到Git。
git的整個運行模式就像上圖顯示的這樣子,每個程序員先從GIT庫中拉取項目代碼到自己的電腦上,然后在自己的電腦上寫好相應的代碼后再提交到git庫中。這樣別人從git庫拉取的代碼就是你補充過的項目代碼了。
而具體的過程,就是如上圖所示,從雲git拉取代碼修改后commit提交再plush到雲庫。在這期間如果有其他人拉取的和你是同一個版本,且提交做出修改的內容有沖突(修改同一個java類)。最簡單的方法就是從雲庫再拉取一遍,在本地合並或者修改成一個統一的版本,再提交到雲庫的新版本。(在實際開發中,建議每次plush時都拉取一下最新的版本,以免產生沖突)
Git是以修改的不同為記錄,而不是整個文件。 每次提交和拉取的代碼其實都不是整個項目,而是期間版本發生過改變的,可能是一個類,可能是幾個類,極大的簡便了我們。
同時,Git也因此而強大。因為這種機制,GIT可以很輕松的做“時光倒退”等操作,假如你對最新一次提交不滿意,可以操作回到之前的版本。 而且可以拿出兩個版本的具體不同代碼,做出對比。
Egit的安裝
作為學習java不久的我們,學習GIT這里我也推薦大家從公司常用的Eclipse插件EGit學起,至於Git,有這個需求的朋友可以自行百度學習下,而Egit的資料相比之下少了許多,這里版主就在這里帶着大家看看,從實際作用的角度去學習。
1.打開eclipse,找到help,搜索Egit(由於EGit的版本可能有更新,大家不要只看圖標,凡是EGit-******就可以了),點擊右下方按鈕安裝。
2.使用EGit前的配置
配置個人信息,最重要的是user.name和user.email
l Preferences > Team > Git > Configuration
l New Entry
3.Egit的dsa秘鑰
Egit的dsa秘鑰相當於是一個獨屬於你的密碼,用於存儲SSH協議使用的非對稱加密密鑰文件,在進行對遠程git庫的連接的時候是需要的。
1)Eclipse:Window->preferences->General->Network Connections->SSH2
2)點擊瀏覽選擇文件夾,格式一般如圖所示,.SSH是一個隱藏文件夾,沒有的可以自己新建設置隱藏。
3)在Key Management頁,選擇點擊 Generate DSA key生成秘鑰並填上password然后保存到上面的文件夾中。
Git遠程庫的搭建
一般公司都有自己的遠程庫,這里我們個人練習使用,我們主要介紹github,實際操作差不太多,萬變不離其宗。
github官網 :https://github.com/
然后,點“Add SSH Key”,填上任意Title,在Key文本框里粘貼id_rsa.pub文件的內容:
點“Add Key”,你就應該看到已經添加的Key:
為什么GitHub需要SSH Key呢?因為GitHub需要識別出你推送的提交確實是你推送的,而不是別人冒充的,而Git支持SSH協議,所以,GitHub只要知道了你的公鑰,就可以確認只有你自己才能推送。
當然,GitHub允許你添加多個Key。假定你有若干電腦,你一會兒在公司提交,一會兒在家里提交,只要把每台電腦的Key都添加到GitHub,就可以在每台電腦上往GitHub推送了。
最后友情提示,在GitHub上免費托管的Git倉庫,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放進去。
如果你不想讓別人看到Git庫,有兩個辦法,一個是交點保護費,讓GitHub把公開的倉庫變成私有的,這樣別人就看不見了(不可讀更不可寫)。另一個辦法是自己動手,搭一個Git服務器,因為是你自己的Git服務器,所以別人也是看不見的。
接着,登陸GitHub,然后,在右上角找到“Create a new repo”按鈕,創建一個新的倉庫,然后在Repository name填入“倉庫名”,其他保持默認設置,點擊“Create repository”按鈕,就成功地創建了一個新的Git倉庫。
在右上角的花色圖案中點擊your profile可以看到屬於你的幾個倉庫。
點擊進入倉庫可以看到倉庫的URL,用來推送和克隆。(命名規則是https://github.com/用戶名/倉庫名.git 可以記下)
Egit的常用操作
1.打開eclipse新建一個項目,或者把你之前寫好要提交的項目。右鍵:team-共享目錄(版主用的中文版,你們自行翻譯)。
2.照着下圖兩把勾都打上,如果xxxx的勾打不上就點擊下面的create repository,然后確定。這樣,你就將自己的項目變成git項目。
3.在對代碼進行修改后,右鍵team就會發現樣子變了。點擊第一個commit進行項目的從本地工作區到暫存區提交。
4.彈框如圖,unstage change是不要提交的代碼,stage changge是你需要提交的代碼,把需要提交的代碼點住左鍵拖到下面框,然后輸入message(本次提交的信息,一般填寫修改了內容。 如:對登錄界面進行了優化。)就可以提交了。
5.再次右鍵team--》push Branch**可以將項目推送到遠程倉庫。URI填寫上面帶你看的庫的URL,自動生成的Host和path,將用戶名和密碼填好就可以推送了。注意:SSH碼一定要正確。
補充
1.標記:j2ee工作空間中有改動未commit的項目會在對應文件前有?提示,comiit未push的會有>標記
2.克隆到本地:Window->perspective->打開透視圖(自行翻譯#可愛)->Git,點擊下圖圖標,同樣的參數就可以克隆庫中項目到本地了哦。
這里的地址一定要填寫自己eclipse的工作空間並打上勾。從庫下載到本地之后在git視圖直接右鍵就可以import到j2ee視圖進行編輯了