Git速成學習第五課 分支管理策略

2022-02-13 02:45:14 字數 2199 閱讀 6669

git速成學習筆記整理於廖雪峰老師的官網**:

通常合併分支時,如果可能用fast forward模式,但是在這種模式下,刪除分支後,會丟掉分支資訊。

如果強制禁止fast forward模式,git就會在merge時生成乙個新的commit,這樣從分支歷史上就可以看出分支資訊。

下面我們仍實戰一下--no-ff方式的git merge

首先,我們仍建立並切換分支:

$ git checkout -b dev

switched to a new branch

'dev

'

修改readme.txt檔案,並提交乙個新的commit

$ git add readme.txt 

$ git commit -m "

add merge

"[dev f52c633] add merge

1 file changed, 1 insertion(+)

現在,我們切換到master

$ git checkout master

switched to branch

'master

'

準備合併dev分支,請注意--no-ff引數,表示禁用fast forward

$ git merge --no-ff -m "

merge with no-ff

"dev

merge made by the

'recursive

'strategy.

readme.txt | 1 +

1 file changed, 1 insertion(+)

因為本次合併要建立乙個新的commit,所以加上-m引數,把commit描述寫進去。

合併後,我們用git log看看分支歷史:

$ git log --graph --pretty=oneline --abbrev-commit

* e1e9c68 (head -> master) merge with no-ff

|\

| *f52c633 (dev) add merge

|/

*cf810e4 conflict fixed

...

可以看到,不使用fast forward模式,merge後就像這樣:

分治策略

在實際開發中,我們應該按照幾個基本原則進行分支管理:

首先,master分支應該是非常穩定的,也就是僅用來發布新版本,平時不能在上面幹活;

那在哪幹活呢?幹活都在dev分支上,也就是說,dev分支是不穩定的,到某個時候,比如1.0版本發布時,

再把dev分支合併到master上,在master分支發布1.0版本;

你和你的小夥伴們都在dev分支上幹活,每個人都有自己的分支,時不時地還往dev分支上合併就可以了。

所以團隊合作的分支看起來就像這樣:

git在合併分支的時候,加上--no-ff引數就可以用普通模式進行合併,合併後的歷史有分支,能看出來曾經做過合併,

fast forward合併就看不出來有合併。

Linux學習第五課

vim編輯器 vi編輯器的提公升版 1 使用簡單 2 使用範圍廣 ctrl shift 增大字型 ctrl 縮小字型 三種模式 esc a,i,o 參考記事本 2 命令模式 複製 剪下 貼上 esc 搜尋 3 末行模式 儲存 退出 設定編 輯器環境設定 w 儲存 q 退出 wq 儲存並退出 wq 強...

HTML學習第五課

定義列表的 也叫做描述性列表,定義列表預設為為兩個層次,第一層為列表項標籤 dt 第二層為注釋項標籤 dd dt 和 dd 標籤通常是成對使用的,也可以乙個列表項對應於幾個解釋項,其格式為 第1項 注釋1第二項 注釋2第三項 注釋3 table 標籤定義html 簡單的html 由table 元素以...

Python菜鳥學習第五課

第三章 字串方法 3.1find可以在乙個較長的字串中查詢子字串,它返回子串所在位置的最左端索引,如果沒有找到則返回 1 title monty python s flying cirus title.find monty title.find python title.find zirquss 1...