一、Eclipse中配置GitLab的前提條件
1.1:安裝Git客戶端
去官網https://git-scm.com/downloads下載合適的版本即可,一般開發環境是windows的就下載window版本即可,如下圖
注意Git和GitHub\GitLab不是一回事,這里也稍微科普下,Git是版本控制系統,Github和GitLab是在線的基於Git的代碼托管服務,Github有個小缺陷 (也不能算是缺陷吧), 就是你的repo(repository的縮寫,表示“倉庫”)都需要public(公開), 如果你想要創建private(私人)的repo, 那得付錢。不過, 幸好, Gitlab解決了這個問題, 可以在上面創建免費的私人repo。安裝完成后如下圖所示
1.2:部署GitLab服務
在本地部署GitLab服務的方法有很多,具體可百度,這里就不再過多的闡述了,可以用local或者是阿里雲服務器都是可以解決這個問題的
二、開始部署和使用
2.1:在Eclipse中安裝EGit工具
Eclipse已經在線集成了這個工具,所以在help-Eclipse Marketplace中搜索EGit在線安裝即可,需要連接互聯網,等待安裝完成
2.2:結合Eclipse和GitLab使用Git
在使用的過程中GitHub也好,GitLab也好,都是一樣的,我們下面將拿GitLab來作為說明對象
2.2.1:在GitLab中創建project
登錄我們部署好的GitLab Web ,登錄,創建一個項目BranchTest,如下圖,是一個空的項目
GitLab為每一個用戶的每一個項目都會生成一個地址,比如http://ip/wangxuejing/BranchTest.git, 一般是IP+用戶名+項目名.git,這里的地址有兩種SSH和HTTP的,SSH的方式需要秘鑰,這里直接用HTTP的方式
2.2.2:在Eclipse中創建project同步到GitLab
如下圖我創建了一個空的java web project - BranchTest
接下來,右鍵項目→Team→Share Project,如下圖所示,給project創建本地倉庫,1先選擇創建資源庫
2其次選擇創建的路徑,這里默認為是項目所在的工作空間,3點擊Create Repository操作進行創建
創建成功后,如下圖所示,Finish按鈕可以操作
點擊Finish,即可完成給Eclipse的Project創建了資源庫的操作,而且默認是項目的工作空間所在的目錄,此時項目發生了改變,如下圖所示,?問號代表沒有push(同步)導Git的意思
接下來我們進行同步操作,同樣是右鍵項目→Team這個時候就會出現下面的界面,因為我們已經給本地項目配置了本地的資源庫,接下來就可以進行提交,同步等操作了
我們直接點擊commit,可以進入Git提交的配置界面,如下圖,首先1添加更改的文件,第一次是所有,之后如果文件發生了變化,Eclipse會監測到,其次2備注一些提交的信息,比如增加了XX功能
上面的操作完成以后就可以點擊3Commit and Push按鈕提交和同步項目代碼了,這里需要注意,如果是Commit只是提交到本地倉庫,並不會同步推送到雲端GitLab,所以我們這里選擇Commit and Push,如下圖
輸入我們之前在GitLab創建的項目地址,HTTP方式的,Host IP這些Eclipse會自動識別,最后輸入我們在GitLab的用戶名和密碼,如果是個人電腦,可以選擇記住密碼,如上圖Store In Secure Store,然后next
然后繼續Next
然后點擊Finish 完成,如下圖所示,說明已經成功的把本地項目同步到了GitLab上面
我們再次返回GitLab查看,如下圖所示,項目已經同步到GitLab了,因為src是空的所以沒過來
我們現在本地修改一下項目,在src隨便創建一個包,寫一個java 類,再次把本地更新提交,如下圖所以可以看到更新已提交
2.2.3:在Eclipse把別人的更新pull(下載)下來
為了測試的效果,我手工在GitLab中BranchTest項目的WebContent下創建一個文件readme,然后在Eclipse中對項目執行pull的操作,如下圖,說明本地得到了更新的文件,操作OK
2.3:淺談GitLab中Git的分支(Branch)
在GitLab中創建一個項目默認會有一個主分支,就是master分支,默認項目(push)會同步到這個主分支,接下來我們說一下什么時候可以創建新的分支(純屬個人見解),如下圖所示,執行創建分支的操作,如下圖,
需要注意的是這里創建分支,可以選擇分支的內容From哪里,這里我選擇master,那么這個分支的內容就和我們的master版本一致了,接下來我們返回項目,選中 我們剛剛創建的 publish-2018-6-5分支,如下圖所示,可以看出和master分支一樣
接下來我們在本地Eclipse修改代碼,在項目根目錄添加 測試分支 文件,然后push項目,再次回來看兩個分支的內容,下面先看master分支,如下圖所示
再看publish-2018-6-5,如下圖示,對比可以發現,這個分支是沒有變化的
總結,所以分支的場景一般是用在,比如我們現在要發布一個版本V1.0我們可以創建一個分支publish-1.0,創建的時候選擇From Master,就可以保存一個上一個發布版本的源代碼,以后新的代碼和Master同步,類似一個快照,最新的代碼丟失的話,也可以恢復分支的代碼,減小損失
最后一個問題:現在同一個project有了多個分支,項目push的時候可以選擇分支覆蓋嗎,一般是不會提供選擇的地方的,如下圖,因為我們只要保證一個主分支的同步即可,在發布版本的時候可以考慮創建分支,淺談結束