eclipse中egit插件使用--升級版

、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……”,

1800

        彈出的界面如上,系統已經幫你填寫了一些東西,你只需要將你的賬號和密碼填寫好就可以了,接下來你需要的是點擊“Next”和“Finish”然後等待(具體多久取決於網速和要下載的量)。

        克隆好後效果就是這樣的:

1822

        我的是空的項目,如果你的是已經有代碼的項目應該還要多一個文件夾,裏面放着有各種託管文件。

        接下來爲了演示,按照常規建一個java工程並且添加一個類,結果就像這樣:

1806

        然後一步一步的將這個項目託管到git中去:在項目上右鍵,選擇“Team->Share Project"

1804

        然後選擇git,next,然後選擇剛纔克隆的代碼庫(如果只有一個不需要選),

1828

        最後點擊”Finish“就可以了,接下來就是要將代碼提交到代碼庫中去,在項目上右鍵,選擇”Team-->Commit"

1807

        然後填寫好註釋勾選所有的文件,點擊提交併推送就行了

1808

        基本的使用就是這些,不斷地寫代碼、提交代碼、推送代碼,當然這是一個人開發,用git只是記錄一下代碼,以後萬一需要可以找回,也就是我以前的用法(現在也沒好到哪裏去),但是有一點大材小用了吧,接下來說一些“高級”的。

3、分支(創建、推送、使用)

        分支的好處、分支的作用、爲什麼要分支?這些都不是我想說的(我想說也說不清,還是讓那些大師去說吧),要想知道的話,請自行上網搜索哦,我接下來要說的是如何通過egit創建、使用、推送分支(刪除的話由於是後面截的圖就放在後面來說)。

        回到代碼庫的視圖,在關於代碼庫的那一行上面右擊,“Switch to--》new”(如果以後有了分支直接選就是了):

1803

        然後填寫分支的名稱,從哪裏來,用什麼方式來等,然後點擊“finish”就可以了:

1827

        由於勾選了“checkout……”所以分支建好之後我們已經在使用新的分支了,

1816

        接下來改動代碼,添加一行打印,

1831

        提交改變,填寫說明:

1819

        這裏我直接提交併推送,但是後來纔想起還沒有說怎麼直接推送新分支呢(我剛纔的操作已經推送了新分支),下面來補充說一下怎麼推送先新建的分支,在代碼庫的視圖上右鍵“remote--》push”然後next,出現下圖的界面

1818

        單擊“add all branches……”就會出現中間的那個“update……”了,然後finish就會把所有的分支都更新(新分支會推送出去),當然這裏偷懶了。

        我們在develop分支上更改了代碼,在master分支上是沒有變化的,切換過去看一下:

1829

        服務器呢,分支develop變化了,master也是沒有變化的:

1812

1810

        這樣兩個分支的代碼就不一樣了,接下來我們要將分支develop的代碼整合到master分支中去,這也是正常的開發中要做的,在一個分支中開發(大項目甚至更多),開發好後或者主幹上有重大變動時,進行代碼合併。

        要將develop的代碼合併進master,需要首先切換分支到master,然後再代碼庫視圖上在本地的master上右鍵“merge”

1805

        然後在彈出的界面中選擇要合併進master的分支:develop:

1799

        點擊“merge”,如果有衝突的話會在代碼上有標記,到時候需要解決之後再繼續,合併之後的效果:

1820

        可以看到我添加的那一條打印語句已經合並進來了,由於還沒有推送,所以在項目上有一個“↑1”,那麼接下來我就推送到服務器上去。在代碼庫的視圖上右鍵,“remote--》push”,然後選擇“add all branches……”,點擊finish

1830

1826

        然後在服務器上就可以看到master分支的代碼已經更新了:

1802

        分支的使用就是這些了,是不是很簡單、很快捷?我們在開發中對於合併分支、提交關鍵代碼更改這樣的大事是不是需要記錄一下,雖然可以看歷史記錄,但是還有一個更方便的東西----標籤,下面就介紹如何使用標籤。

4、標籤(創建、推送)

        如前面所說,標籤就是用來記錄大事件的,便於以後查看,標籤不止一種,但是我不介紹(網上有的是,而且我也說不明白),需要的可以自行上網搜索。

        創建標籤很簡單,只需在代碼庫的視圖的”Tags“上右鍵,”Create tag",

1809

        彈出的窗口中,填寫標籤的名稱、說明、基於哪一版代碼,然後finnish:

1817

        接下來要做的是將標籤推送到服務器,方法也是在代碼庫的視圖上右鍵“remote--》push”

1815

        借來點擊一次next,然後點擊“add all tag……”推送所有標籤更改,當然和分支一樣,新標籤也會推送出去

1811

        標籤使用就介紹到這裏了。

5、分支、標籤的刪除

        分支在完成該分支的開發後可能要刪除(不知道最佳做法是刪除還是不刪除),把標籤有時候需要刪除(標籤原則上不刪除)。反正就是有時候要刪除,下面介紹一下刪除的做法。

        爲了演示刪除標籤,特意新建一個標籤,在服務器上查看的情況是這樣的:

1813

        刪除標籤,需要在代碼庫的視圖上右鍵“remote--》push”,然後“add all tag……”添加一欄,可以看出來標籤在遠程的記錄是“refs/tags/*”我們將前面的“update”單擊一下變成“delete”,悲劇出現了:後面的列都不見了,沒辦法手動填寫吧(分支還好可以輔助生成,這個只能手動,可能是標籤真的不應該刪除吧),先前我們知道標籤在遠程的記錄是“refs/tags/*”,我們舊照樣子寫,然後八角具體的標籤名寫上,就成了這個樣子:

1825

        然後點擊finish遠程的標籤就刪除了,當然爲了防止下一次將這個標籤推送出去,我們需要在本地也刪除這個標籤,在標籤上右鍵“delete”:

1797

        這樣服務器上的標籤就沒有了:

1821

        再次提醒,標籤一般不刪除。

        刪除分支也差不多,爲了演示我也建了一個叫做delete的分支,

1801

        刪除步驟就是在代碼庫的視圖上右鍵,“remote--》push”然後next,然後可以使用嚮導生成刪除請求,不用像標籤那樣手動寫了,

1823

        方法爲:上面的上面的“Source ref:”和“Destination ref”選擇要刪除分支,然後點擊後面的“add spec”,這個時候下面記錄的是“update”我們點擊一下這個update就會變成“delete”了,然後點擊finish遠程服務器上的分支就會被刪除,

1824

        可以看到,服務器上已經有了delete分支,當然本地的delete分支也最好一併刪除了,方法和刪除標籤一樣,就不截圖了。

6、使用遠程已有本地還沒有的分支

        在遠程服務器上別人推送提交了一個新的分支,或者本地的代碼庫是剛克隆的而原來已有不止一個分支,那麼本地是不會有除master(默認分支)以外的分支的(remote下面有),那麼如何得到呢?

        本人嘗試過在remote下面的分支上checkout,但是代碼出來了,更改推送不出去。那麼在代碼庫的視圖上“fetch from……”呢,這樣根本就沒有提示有版本變化!

        經過不斷嘗試、探索,關鍵在於在local下面沒有分支的記錄,最後終於找到,在新建分支的窗口上,選擇來源就用remote的那個分支就行,截圖就像下面:

1798

著作權歸作者所有

  • 字數:2819


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