1.首先須要在github上創建一個遠端倉庫 java
點擊Create repository後,會在github上創建相應的git倉庫,並會出現以下界面:
複製https或者ssh的倉庫地址,遠端倉庫的操做即告一段落。git
2.eclipse建立項目。然後在項目上右鍵–>Team–>Share Project,會打開以下界面:
此界面須要咱們對該項目的本地git倉庫進行配置,可使用當前項目所在目錄做爲該項目的git倉庫,也能夠自定義其餘位置的目錄做爲git倉庫。須要說明的是,若是自定義其餘位置做爲git倉庫,那麼將項目託管到其定義的位置後,項目本來所在的workspace下就沒有該項目了。這裏我使用項目所在的workspace下的項目根目錄做爲git倉庫,所以須要勾選use or create repository in parent folder of project。接着就會出現以下的界面:
勾選項目,並點擊create Repository按鈕新建.git文件夾,完成git倉庫的配置。github
此時查看項目,能夠看到以下的顯示: web
這裏須要先說說HEAD這個概念,能夠理解爲遊標或者索引。它能夠記錄對文件操做的相關版本信息,咱們能夠依據HEAD的信息來切換到咱們想要獲取的版本。能夠參考上一篇文章所使用的git reset命令。
這裏顯示NO-HEAD,說明項目的文件尚未加入到git的版本管理中,因而咱們須要再次右鍵–>Team–>Commit,對項目下的文件進行提交,將其提交到本地的git倉庫中,以下圖所示:
填寫註釋,選擇要提交的文件,點擊commit and push,這樣就會將文件提交到本地的倉庫而且向遠端倉庫進行推送。以後會出現以下的界面:
這就須要用到咱們以前從github上覆制的地址了,將其粘貼到URI處,而後一路Next下去,直到Finish。然後會出現向遠端倉庫推送的界面,以下:
等待進度條走到頭,即完成了向遠端倉庫推送的操做。
此時再看項目,能夠看到已經再也不是NO-HEAD了,而是在master主分支上了,說明已經和主分支創建了關聯。 數據庫
進入github中咱們新建的倉庫,便可看到已經託管成功的文件了。eclipse
在src目錄下新增HelloGit的java文件,然後會看到文件名及其上層目錄上都帶有一個問號,這代表該文件沒有被添加到git倉庫中。咱們能夠進行以下操做將其添加到git本地及遠端倉庫。右鍵–>Team–>Synchronize workspace,會打開同步的操做視圖,以下: ssh
接着就和上面說過的提交同樣,點擊右鍵–>commit–>填寫註釋–>commit and push,這樣新增的文件就提交到本地和遠端的git倉庫中了。編輯器
一般咱們須要從master分支上新建我的分支,而後在我的分支上進行開發,最後再將我的分支的修改合併到master分支上。因此咱們能夠經過以下操做來新建我的分支並將其同步拉取到本地進行開發使用。
在github上新建我的分支,以下: 工具
打開eclipse,右鍵–>Team–>pull,會顯示以下的界面:
點擊OK,即將遠端創建的earl的我的分支同步拉取到本地了。學習
此時咱們須要切換到我的分支進行開發。右鍵–>Team–>switch to–>other,這時會出現以下界面:
點擊checkout,在下一界面點擊checkout as new local branch,然後Finish。這一系列的操做完成後,就切換到咱們的我的分支上了,能夠看到項目名後面的分支再也不是master,而是earl了。
當咱們在本身的分支下完成了代碼的編寫,測試確認無誤後,須要將其提交到master分支上。一般咱們不直接提交master,而是提交到遠端的我的分支下,而後將此分支與master進行merge操做。下面咱們就來看看如何進行我的分支與master分支的合併。
1. 在項目中新建系統配置文件system.config.properties,向其添加數據庫的鏈接信息,再提交到遠端的我的分支下。
2. 打開github上的遠端倉庫,選擇提交system.config.properties文件的我的分支,點擊new pull request按鈕,進入以下界面
能夠在此界面看到本次提交的合併請求涉及到哪些文件,這些文件有哪些內容有過改動。填寫本次合併請求的描述信息,點擊create pullrequest按鈕,會出現下面的界面:
確認後點擊merge pull request按鈕,填寫描述,再點擊confirm merge按鈕,完成合並操做。
此時切換到master分支,便可看到該配置文件已經合併到其中。
在實際開發過程當中,經常會遇到多人修改同一文件的狀況,此時若是多人向同一文件進行內容修改並想將其合併到master中時,就會出現衝突的狀況,若是須要將修改的內容加入到master中,那麼就須要將衝突解決後再進行合併。下面咱們來看看如何對衝突的狀況進行解決。
1. 模擬多人修改同一文件的情景。在遠端倉庫再新建一個分支,也將其拉取到本地。
2. 在本地的該分支上修改分支合併中涉及到的system.config.properties文件,保存並提交到遠端分支。
3. 在github遠端倉庫上選擇該分支,並點擊new pull request按鈕,會出現以下界面:能夠看到,當前不能對該分支與master分支進行自動合併,緣由是兩個分支之間存在衝突,須要解決衝突後纔可進行合併。填寫完描述後,點擊create pull request按鈕,會打開以下界面
此頁面用於解決分支見文件的衝突,可使用web編輯器或者命令行來進行衝突的解決,此處咱們使用web編輯器進行修改。
4. 點擊resolve conflicts按鈕,打開修改頁面,以下:
咱們進行修改後,點擊mark as resolve按鈕,將衝突文件標記爲合併,而後點擊commit changes按鈕,將此文件進行提交。提交後便可看到正常合併分支的操做頁面,此時按照分支合併的操做來進行便可完成該分支到master的合併。
eclipse基本上已經集成了git命令行的大部分操做,對於不熟悉命令行操做的童鞋來講,掌握eclipse對git的操做也能夠提高本身的工做效率。無論白貓仍是黑貓,抓到老鼠就是好貓。無論命令行仍是GUI,能實現版本管理就是好工具。eclipse對於git的操做還有不少,我將持續更新對其的學習總結。