、eclipse和egit版本
eclipse使用的是kepler的SR1版,egit就是自帶的那個版本,要詳細的話,我就也只能把文件名貼出來了:eclipse-jee-kepler-SR1-win32.zip。
2、開始egit的簡單實用
這裏也就不說怎麼打開eclipse了吧,怎麼修改配置也就不說了吧,大家看我的eclipse和你的kepler界面有點不一樣,那是我配置了的(這是題外話了),大家可以網上搜一下。egit插件是自帶的,我也就不像其他的文章那樣說怎麼安裝egit了,下面介紹怎麼通過egit簡單的使用開源中國的代碼託管服務。
首先你需要在開源中國代碼託管建一個工程(或者叫別人把你加入他的工程也可以),反正就是你要有訪問一個託管工程的權限。
在eclipse中打開名字叫做“Git Repositories”的視圖(如何打開?自行百度),然後複製項目的訪問地址,在這個視圖內Ctrl+V就可以進行配置了,或者以也可以找到按鈕“Clone a……”,
彈出的界面如上,系統已經幫你填寫了一些東西,你只需要將你的賬號和密碼填寫好就可以了,接下來你需要的是點擊“Next”和“Finish”然後等待(具體多久取決於網速和要下載的量)。
克隆好後效果就是這樣的:
我的是空的項目,如果你的是已經有代碼的項目應該還要多一個文件夾,裏面放着有各種託管文件。
接下來爲了演示,按照常規建一個java工程並且添加一個類,結果就像這樣:
然後一步一步的將這個項目託管到git中去:在項目上右鍵,選擇“Team->Share Project"
然後選擇git,next,然後選擇剛纔克隆的代碼庫(如果只有一個不需要選),
最後點擊”Finish“就可以了,接下來就是要將代碼提交到代碼庫中去,在項目上右鍵,選擇”Team-->Commit"
然後填寫好註釋勾選所有的文件,點擊提交併推送就行了
基本的使用就是這些,不斷地寫代碼、提交代碼、推送代碼,當然這是一個人開發,用git只是記錄一下代碼,以後萬一需要可以找回,也就是我以前的用法(現在也沒好到哪裏去),但是有一點大材小用了吧,接下來說一些“高級”的。
3、分支(創建、推送、使用)
分支的好處、分支的作用、爲什麼要分支?這些都不是我想說的(我想說也說不清,還是讓那些大師去說吧),要想知道的話,請自行上網搜索哦,我接下來要說的是如何通過egit創建、使用、推送分支(刪除的話由於是後面截的圖就放在後面來說)。
回到代碼庫的視圖,在關於代碼庫的那一行上面右擊,“Switch to--》new”(如果以後有了分支直接選就是了):
然後填寫分支的名稱,從哪裏來,用什麼方式來等,然後點擊“finish”就可以了:
由於勾選了“checkout……”所以分支建好之後我們已經在使用新的分支了,
接下來改動代碼,添加一行打印,
提交改變,填寫說明:
這裏我直接提交併推送,但是後來纔想起還沒有說怎麼直接推送新分支呢(我剛纔的操作已經推送了新分支),下面來補充說一下怎麼推送先新建的分支,在代碼庫的視圖上右鍵“remote--》push”然後next,出現下圖的界面
單擊“add all branches……”就會出現中間的那個“update……”了,然後finish就會把所有的分支都更新(新分支會推送出去),當然這裏偷懶了。
我們在develop分支上更改了代碼,在master分支上是沒有變化的,切換過去看一下:
服務器呢,分支develop變化了,master也是沒有變化的:
這樣兩個分支的代碼就不一樣了,接下來我們要將分支develop的代碼整合到master分支中去,這也是正常的開發中要做的,在一個分支中開發(大項目甚至更多),開發好後或者主幹上有重大變動時,進行代碼合併。
要將develop的代碼合併進master,需要首先切換分支到master,然後再代碼庫視圖上在本地的master上右鍵“merge”
然後在彈出的界面中選擇要合併進master的分支:develop:
點擊“merge”,如果有衝突的話會在代碼上有標記,到時候需要解決之後再繼續,合併之後的效果:
可以看到我添加的那一條打印語句已經合並進來了,由於還沒有推送,所以在項目上有一個“↑1”,那麼接下來我就推送到服務器上去。在代碼庫的視圖上右鍵,“remote--》push”,然後選擇“add all branches……”,點擊finish
然後在服務器上就可以看到master分支的代碼已經更新了:
分支的使用就是這些了,是不是很簡單、很快捷?我們在開發中對於合併分支、提交關鍵代碼更改這樣的大事是不是需要記錄一下,雖然可以看歷史記錄,但是還有一個更方便的東西----標籤,下面就介紹如何使用標籤。
4、標籤(創建、推送)
如前面所說,標籤就是用來記錄大事件的,便於以後查看,標籤不止一種,但是我不介紹(網上有的是,而且我也說不明白),需要的可以自行上網搜索。
創建標籤很簡單,只需在代碼庫的視圖的”Tags“上右鍵,”Create tag",
彈出的窗口中,填寫標籤的名稱、說明、基於哪一版代碼,然後finnish:
接下來要做的是將標籤推送到服務器,方法也是在代碼庫的視圖上右鍵“remote--》push”
借來點擊一次next,然後點擊“add all tag……”推送所有標籤更改,當然和分支一樣,新標籤也會推送出去
標籤使用就介紹到這裏了。
5、分支、標籤的刪除
分支在完成該分支的開發後可能要刪除(不知道最佳做法是刪除還是不刪除),把標籤有時候需要刪除(標籤原則上不刪除)。反正就是有時候要刪除,下面介紹一下刪除的做法。
爲了演示刪除標籤,特意新建一個標籤,在服務器上查看的情況是這樣的:
刪除標籤,需要在代碼庫的視圖上右鍵“remote--》push”,然後“add all tag……”添加一欄,可以看出來標籤在遠程的記錄是“refs/tags/*”我們將前面的“update”單擊一下變成“delete”,悲劇出現了:後面的列都不見了,沒辦法手動填寫吧(分支還好可以輔助生成,這個只能手動,可能是標籤真的不應該刪除吧),先前我們知道標籤在遠程的記錄是“refs/tags/*”,我們舊照樣子寫,然後八角具體的標籤名寫上,就成了這個樣子:
然後點擊finish遠程的標籤就刪除了,當然爲了防止下一次將這個標籤推送出去,我們需要在本地也刪除這個標籤,在標籤上右鍵“delete”:
這樣服務器上的標籤就沒有了:
再次提醒,標籤一般不刪除。
刪除分支也差不多,爲了演示我也建了一個叫做delete的分支,
刪除步驟就是在代碼庫的視圖上右鍵,“remote--》push”然後next,然後可以使用嚮導生成刪除請求,不用像標籤那樣手動寫了,
方法爲:上面的上面的“Source ref:”和“Destination ref”選擇要刪除分支,然後點擊後面的“add spec”,這個時候下面記錄的是“update”我們點擊一下這個update就會變成“delete”了,然後點擊finish遠程服務器上的分支就會被刪除,
可以看到,服務器上已經有了delete分支,當然本地的delete分支也最好一併刪除了,方法和刪除標籤一樣,就不截圖了。
6、使用遠程已有本地還沒有的分支
在遠程服務器上別人推送提交了一個新的分支,或者本地的代碼庫是剛克隆的而原來已有不止一個分支,那麼本地是不會有除master(默認分支)以外的分支的(remote下面有),那麼如何得到呢?
本人嘗試過在remote下面的分支上checkout,但是代碼出來了,更改推送不出去。那麼在代碼庫的視圖上“fetch from……”呢,這樣根本就沒有提示有版本變化!
經過不斷嘗試、探索,關鍵在於在local下面沒有分支的記錄,最後終於找到,在新建分支的窗口上,選擇來源就用remote的那個分支就行,截圖就像下面:
著作權歸作者所有
字數:2819