Eclipse集成EGit

前言

關於代碼控制工具,一般而言,如果是開發團隊,我們常常選擇的是SVN、CVS;但是怎麼管理我們自己的代碼呢?那就用GItHub吧,這樣就可以不用自己準備一臺網絡服務器了。

介紹

         GitHub是一個屬於自己的控制代碼工具,和SVN功能相似,只是這裏的服務器在網絡上。GitHub的使用也分桌面形式的客戶端和集成Eclipse的插件。如果使用客戶端請下載GitHub for Windows,這裏介紹的是Eclipse集成EGit。

創建資源庫

1、註冊一個賬號

首先,需要註冊一個賬號。https://github.com/

2、創建資源庫

在主界面的右下角有這樣一個區域,如圖。點擊New repository,創建一個新的庫。

在 Repository name 欄裏寫上新建庫的名字,如“HelloWorld”。其它可寫可不寫。等你熟悉了再去深究吧。點擊下方的 Create repository 按鈕。

Eclipse集成EGit

         這裏使用的是MyEclipse10。

         集成方式和SVN類似,有兩種:Eclipse中在線更新安裝和dropins中放入下載的集成包。其中第一種不建議使用,總是下載不下來。

         接下來探討第二種方式:dropins。

1、  下載Eclipse集成EGit的插件,GitHubfor Eclipse

百度下很多的,這裏不細說了。

2、  安裝

a)        方式一(已驗證)

將下載的插件解壓後,複製到${MyEclipse}/MyEclipse 10/dropins目錄下。(注:Eclipse不同的版本,目錄可能不一樣,安裝插件的方式也可能不一樣。)重啓MyEclipse。

b)        方式二

在dropins文件夾下通過新建一個*.link文件,然後文件中輸入PATH=%PLUGINS_PATH%,這樣的方式,可以不用擔心以後插件過多時出現混亂,也方便移除相關插件。具體內容如下圖中所示:



其中的PATH=%PLUGINS_PATH%可以有多行,每一行代表着不同的插件路徑,實現和SVN的共存。

3、  設置

點擊 工具欄 >Preferences > Team 下多了一個 Git 的分支。修改一下“Default repository folder”的值。這是遠程的庫在本地的一個路徑。【可以選擇MyEclipse的工作目錄,當然也可以自己新建一個目錄。】建議直接設置爲MyEclipse的工作目錄,和Eclipse的其他項目一樣都在一個工作目錄維護。


上傳項目

1、  新建Java項目

接下來新建一個HelloWorld的項目吧。這個就不多說了。

2、  上傳本地

項目建好後,選中項目,右鍵 > Team > Share Project 。你會看到這樣的提示,如圖:


提示缺少環境變量 HOME 。少了咱就加唄!

右擊 我的電腦 > 屬性,點擊選項卡 高級 > 環境變量 > 系統變量 > 新建 ,如圖。在 變量名 中輸入 HOME變量值 建議和上面的“Defaultrepositoryfolder”一樣。點擊確定。重啓Eclipse。


重複上一步操作——ShareProject ,這次應該不會再出現上次的提示。在出現的界面中選中Git ,點擊Next


這裏說明一點,(一)如果希望咱們的EGit項目和Eclipse中項目位置隔離的話,點擊紅色“Create”部分,如下圖:


最後點擊 Finish即可,這樣我們的項目不會存在於Eclipse的工作目錄中。(二)如果想在Eclipse項目中保存Repository就在如下的界面中,在紅色標註的地方打√ ,選中項目後,點擊 CreateRepository ,點擊 Finish 即可,這樣,我們的項目和Eclipse的其他項目一樣,在同一個目錄。


選中項目,右鍵 > Team > Commit ,出現如下圖的界面。輸入提交的備註信息(Commit message),選中要提交的文件,點擊Commit

(注:如果你只是要上傳文件,那個“.project”的文件可以不提交,那是Eclipse的一個配置文件,主要作用就是表明這個文件是一個Project。當你用另一臺機器下載這些代碼時,如果有這個文件,可以用Eclipse直接導入,Import Project)


3、  提交到GitHub賬戶

選中項目,右鍵 > Team > Remote > Push ,出現如下界面。


回到GitHub的主頁面,點擊新建的庫“HelloWorld”,在瀏覽器的右側出現如下片段,如圖。在 Code 欄的最下方提供了不同的下載方式。筆者選擇 HTTPS ,複製後面的地址,粘貼到上圖中的“URI”欄裏。


User/Password就是你的GitHub的賬戶和密碼。“Storein Secure Store”打√ 。點擊 Next ,出現下圖界面。


a、 選擇 Source ref

b、 點擊 Add AllBranchesSpec

c、  Force Update 一定要選中。如果不選中,下一步就會報錯。這個錯在GitHub的Help裏可以搜索到,但我沒怎麼看懂。只知道選中“Force Update”可以避免這個錯誤。

d、 點擊 Finish

OK,到你的GitHub的主頁面看一下,HelloWorld庫裏是不是多了些文件?


4、  同步

a)        本地同步到網絡

修改項目代碼。

本地上傳:Commit(同上)。

遠程同步:Push(同上)。

GitHub主頁面查看。

b)        網絡同步到本地

在頁面上點擊 Edit 按鈕,加入如下代碼


(1)在下方的Commitmessage 欄裏輸入你的備註信息,如“Add from Web”

(2)點擊CommitChanges 按鈕

頁面上修改完成。如何更新到本地呢?

選中項目,右鍵 > Team> Pull ,你會發現代碼已經更新下來了。

5、  問題

解決The current branch is not configured for pull No valuefor key branch.master.merge found in config

1) 在本地工程目錄找到config文件(我的是在E:\rocket\rocket\.git);

2) 修改config文件內容爲:

[core]

   repositoryformatversion = 0

    filemode =false

   logallrefupdates = true

    [branch"master"]

        remote =origin

        merge = refs/heads/master

    [remote"origin"]

        url =https://github.com/androidzhaoxiaogang/rocket.git   (修改爲自己的url

        fetch =+refs/heads/*:refs/remotes/origin/*

3) 再執行pull方法,發現工作ok

下載項目

確保你的GitHub的庫中有 .project這個文件,否則Eclipse不知道它是一個Project,也就無法導入,但可以作爲普通文件下載下來。

在Eclipse的PackageExplorer欄空白處右鍵 - Import ,選擇 Git - Projects from Git ,點擊 Next


接下來選擇 URI ,點擊 Next,在下圖中的“URI”欄裏填入你的遠程庫HelloWorld的地址


User和Password欄裏填入GitHub的賬號和密碼

以下幾步都可用默認值,直接 Next

問題:

注:請確保你的GitHub上的庫名和項目名稱是一樣的。筆者的庫名爲HelloWorld,而當初在Eclipse中創建的項目名稱爲HelloWorld4GitHub。所以導致在這一步總是報錯。

解決辦法:

1、到GitHub主頁上點擊 Admin 按鈕,修改庫名稱

2、到GitHub主頁找到.project文件,修改它的<name>節點

 

另外還有一點想說明的,如果你的遠程庫裏面沒有 .project 文件,是不可能導入成功的。直接 Cancel 掉。到你的Eclipse的工作目中看看,是不是已經有 HelloWorld 的文件夾了。也就是說到這一步,庫文件已經被下載下來。只是因爲沒有Project的標識文件,Eclipse無法識別。


項目導進來後,發現報錯。再看它的目錄結構,你會發現沒有JDK的包。


沒有咱就加啊!

選中項目,右鍵 > BuildPath > Add Libraries ,加入你本地的JDK環境即可。

加上後,發現它還是報錯。原因是Eclipse將src這個目錄當成了普通的文件夾,而不是Java的source目錄。

怎麼將一個普通的Folder轉換成Java的SourceFolder呢?

選中src目錄,右鍵 >Build Path > Use as Source Folder。

(注:如果定義了包,即package,首先 右鍵 > Build Path> Exclude,然後再 Use as Source Folder)

 OK,項目可以正常使用了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章