大致流程:
- 建立遠程倉庫。
- 建立本地倉庫並與遠程倉庫關聯。
- 有兩種方法:
- 在Eclipse中import遠程項目;
- 將Eclipse中的項目提交到本地倉庫,然后push到遠程倉庫。
一. 配置Eclipse EGit
圖解Eclipse中安裝及配置EGit插件中的配置EGit
user.name
配置為你的學號或者姓名,user.email
配置為你在gitee上注冊的郵箱。
二. 建立遠程倉庫,建立本地倉庫然后將其與遠程倉庫相關聯
1. 注冊、登錄、建立項目java學號
首先點擊頁面上方的+
來創建項目。注意:下面的初始化暫時先不要選。
項目創建后,就在碼雲上建立了遠程倉庫。然后點擊復制
獲取遠程倉庫的url
2 將Eclipse中的項目與碼雲上的遠程倉庫建立關聯
Eclipse菜單Window-Show View-Other
,輸入Git Repositories
,打開相應視圖。如下圖所示:
該圖顯示本機上已有多個代碼倉庫,我們現在需要在Eclipse中新建一個本地倉庫與在碼雲上的遠程倉庫建立關聯。
在該視圖下ctrl+v
,顯示下圖,輸入碼雲上的郵箱與密碼:
在接下來的頁面更改Directory
,選定本地倉庫的位置:
本地倉庫創建好以后,顯示如下,這里有多個本地倉庫,如果你還沒有建過本地倉庫,這里應為空:
到這步已在本地倉庫與遠程倉庫建立了關聯。接下來要將Eclipse中的項目提交到本地倉庫進而提交到遠程倉庫。
右鍵點擊Eclipse中的項目,依次選擇Team-Share Project-Git
,選擇你創建的倉庫,點擊Finish
:
三. 提交(commit)、克隆(clone)、推(push)
1. 提交代碼到遠程倉庫
現在在項目中可以提交(commit)對代碼的更改到本地倉庫,進而push到碼雲上的遠程倉庫。
右鍵點擊項目,依次選擇Team-Commit
,在下面的界面中輸入Commit message
、選擇相應的需要提交的Files,然后
點擊Commit and push
(提交到本地倉庫並且push到遠程倉庫),如果選擇Commit
僅僅提交到本地倉庫。
注意:Eclipse項目中.classpath
、.project
、.settings
、.class
文件均不用push。可將其加入.gitignore
文件以進行忽略。
提交的過程中如果出現錯誤,可以先提交(Commit)到本地倉庫,然后再將本地倉庫'push'到遠程倉庫。
push到遠程倉庫的方法: 右鍵點擊項目,依次選擇Team-Push branch...
。如果成功推送,碼雲上將會有相應文件,如圖:
以后如果對代碼有所修改,需要'Commit and push'才能將代碼提交到遠程倉庫。
在宿舍可將遠程倉庫中的代碼clone到本機,詳見下面參考資料。 將整個項目clone下來后,以后使用pull
就可以將遠程倉庫的代碼拉到本機的Eclipse項目中。
使用重要提示:
使用Git來管理你的代碼時,當你在本機Eclipse項目中開始編寫新的代碼之前,一定要先將遠程倉庫的最新代碼pull
到本機,這可以降低沖突發生的可能。
2. 將碼雲上的項目clone到你的電腦
假設你的Eclipse還沒有碼雲上建立的項目,現需將碼雲上的項目clone到你的電腦,有兩種方法:
方法1:在Eclipse直接import碼雲上的項目(推薦)
- 復制碼雲上相關項目的URL。
- Eclipse中,File-import-Git-Projects from git-Clone URI,然后輸入步驟1中的URL
方法2:先建立本地倉庫與遠程倉庫的關聯,然后從本地倉庫import項目
- 復制碼雲上相關項目的url。
- Eclipse上,依次點擊
Window-Show View-Other
,添加Git Repositories
視圖 - 在該視圖上
ctrl+v
,將碼雲上的項目clone到本地。
現在本地倉庫與遠程倉庫(碼雲上的倉庫)有了關聯。但在Eclipse中還沒有項目與該本地倉庫關聯。 - 將本地倉庫中的項目導入(import)到Eclipse中
- 依次點擊
File-Import
,選擇Git-Projects from Git
- 選擇
Existing local repositories
(現有的本地倉庫),然后選擇相關的項目,根據提示一步步操作,最終建立好項目。
- 依次點擊
3 將項目中代碼的改動與新增文件提交與push到碼雲倉庫(遠程倉庫)
原理描述:
經過上述步驟,你已經將Eclipse中的項目與本地倉庫相關聯,進而與碼雲上的遠程倉庫相關聯。
現在你可以將項目中代碼的改動提交(Commit)到本地倉庫,並進而push到遠程倉庫。
注意:Commit
僅僅是將代碼提交到本地倉庫,你的代碼改動僅僅存儲在本地上。一定要push
,才能將本地倉庫的內容推
到遠程倉庫。
具體步驟
假設你在Eclipse項目中添加
了Main1.java Main2.Java
,修改
了Main.java
,見下圖。這些文件並沒有放到本地倉庫中,而只是存儲在Eclipse項目中。
現在發現Main2.java
寫錯了,不需要提交,而只需要提交Main1.java和Main.java
。
右鍵點擊項目,依次選擇Team-Commit
,會出現下圖:
選中Main1.java和Main.java
,右鍵點擊選擇Add to Index
,將文件加入index區,在右側的Commit Message
輸入相關的提交信息,如添加了Main1.java,主要完成題目1,改成了Main.java中導致程序崩潰的bug
。
然后點擊Commit and Push
,就可以將這些改動Commit到本地倉庫,並進而Push到遠程倉庫。如果僅點擊Commit,則只是將代碼提交到本地倉庫。
四. 實驗室、宿舍之間代碼同步最佳實踐
不要為每次實驗建立一個項目,然后同步到代碼倉庫中。這樣過不了多久,代碼庫中就堆滿了項目,管理起來很不方便。
推薦只建立一個項目,項目名需包含你的學號,每次實驗的代碼放到不同的包(package)中。
比如,第1次實驗放到ex01
包,如下圖所示:
如果為了方便區分1次試驗內不同題目的代碼,可以進一步將其放入ex01的子包ex01.birthdate
這樣的包中
這樣管理起來更加方便,減少倉庫不同步的可能。
參考資料
命令行下使用Git見下面兩篇文章
Git與碼雲(Git@OSC)入門-如何在實驗室和宿舍同步你的代碼(1)
Git與碼雲(Git@OSC)入門-如何在實驗室和宿舍同步你的代碼(2)
其他參考資料: