使用Eclipse-Maven-git做Java開發(15)--git分支和標簽的使用
來自: http://my.oschina.net/songxinqiang/blog/608482
到目前為止我們都還是在一個名為master的分支里面做操作,而git的優勢之一就是對分支的操作,在本文中就來說一說怎么搞分支和標簽。
0、準備
接著上一篇文章來,繼續使用那個工程。
關于git中分支和標簽的管理上的建議,大家可以參考這篇文章:Git分支管理策略 以及 一個成功的 Git 分支模型
當然,本文并不打算說怎么規劃你的分支和標簽,因為我自己也沒有鬧明白,本文只說怎么創建、合并、刪除分支以及標簽,關于規劃方面的請根據自己的需要來,可以看一下那兩篇文章。
1、分支的創建
當我們在git@osc創建一個項目的時候,勾選了初始化項目的話,是會創建一個有master分支的項目的,這也是之前創建項目的方式,此外還可以清空項目,然后推送本地已有的柜臺倉庫上去。但是這不是重點,重點是有了master,然后在此基礎上創建分支,然后開發。
在eclipse中創建分支,請在倉庫視圖中右鍵->"switch to"->"new branch",打開新建分支對話框:
在對話框中指定新建的分支基于什么,推送和拉取的配置,分支名是什么等:
新分支的基礎默認是當前檢出的分支,我們可以進行“選擇”,可以在彈出框里面選擇具體需要的,現在還沒有創建標簽,所以“tags”下面還是空的,以后有了標簽,就可以基于標簽創建分支了。名稱可以按照自己的需要命名,只要符合命名要求就可以,不能重復這是必須的。推送和拉取的配置勾上就可以了。
一切就緒,“確定”之后就已經在新的分支上了。
可以看到,本地已經有了這個分支,但是遠端上實際上還沒有,因為我們還沒有推送這個分支:
2、推送新建的分支
在上一步驟中新建了分支"develop",,接下來將其推送到遠端上去。
在那條倉庫記錄上面右鍵->“remote”->"push",打開推送對話框:
第一步是選擇遠端,也可以添加遠端,以后有需要的可以配置,這里不需要管,直接下一步即可:
接下來就是選擇推送的內容和類型了,有分支啊、標簽啊,添加、更新、刪除等等,這里將要推送的分支選上,然后添加進列表即可:
配置好之后就可以開始推送啦:
剩下的就是下一步和結束啦。
完成后可以在網頁上和本地看到變化:
經過實際使用,發現一個問題,那就是在新分支上第一次推送提交的時候還是會叫推送這個分支,不知道為何。
3、分支合并
先在新分支上提交一次,讓兩個分支不一樣。
(和之前的提交一樣)
合并分支要講究“主動方”和“被動方”的,要將develop合并到master中,需要先切換到master,然后將develop合并進來。
先切換到master分支,在倉庫記錄上右鍵->"switch to"->"master"。
然后再右鍵->"merge":
在對話框中有一些合并的選項:
首先大框中有可以選擇來進行合并的項目,遠端和本地分別顯示的,因為有時候本地和遠端是不同步的,除了分支還可以選擇標簽。
下面有兩組單選,第一組不用管,第二組一個表示不會創建額外的提交,第二個表示創建一個提交。
這里選擇合并本地的develop分支,創建一個合并提交記錄:
然后本地的文件就修改了,在“history”標簽里面的記錄成了這樣:
如果不創建合并提交的話本地的master和develop就會是重合的。
接下來直接“push to upstream”即可。
4、創建并推送標簽
在倉庫記錄里面的“tags”上面右鍵->"create tag"打開創建標簽對話框:
在對話框中填寫好需要的信息,然后選擇“create and start push”,創建并推送標簽,進入推送對話框:
然后一直下一步和結束就可以了。
等結束之后就可以在本地和遠端的標簽列表中個查看到了。:
5、刪除分支、標簽
一般標簽都不刪除的,因為即使遠端刪除了,如果刪除之前有人拉取了,那么在之后他的本地記錄不會刪除的,即使后面創建了一個相同的標簽也不會被覆蓋,那樣就會造成不同步。所以最好的是創建標簽之前就考慮好,如果確實需要更改也應該創建一個新的標簽。
分支也最好不要刪除,即使該分支已經不需要了,那么也將其留在那里,以便將來使用。分支和標簽的刪除,本地直接右鍵選擇刪除就可以了,但是對遠端的刪除要麻煩一點。
在倉庫記錄上面右鍵->“remote”->"push"打開推送對話框,然后下一步,進入編輯推送任務的對話框:
要刪除分支,在“delete”下拉選擇需要刪除的分支,然后“添加”將分支添加下面的任務列表,
與之前的推送分支比起來,前面的“update”變成了“delete”,然后提交即可。
標簽的刪除需要先添加所有的標簽記錄的任務,然后將目標明確修改為需要刪除的標簽 的名字,將前面的“update”修改為delete。
修改之后是這樣的:
接下來就直接下一步和結束就可以了。
從刪除標簽的方式可以看出,標簽是真的真的不推薦刪除的。
6、小結
分支和標簽怎么創建、管理、合并、刪除等,是需要綜合考慮的,需要不斷的根據實際總結和調整。這里只是說明一個操作的方法而已。
到這里對于git的使用基本就差不多了,接下來是基于git的這些功能的maven的使用了。
有不對的地方歡迎大家留言指出來。
enjoy!!!