廖雪峰的Git教程十二 分支管理策略

2021-08-01 10:15:27 字數 1093 閱讀 7200

分支管理策略

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

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

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

$ git checkout -b dev

switched to

anew branch 'dev'

$ git add readme.txt 

$ git commit -m "add merge"

$ git checkout master

switched to branch 'master'

$ 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描述寫進去。

$

gitlog--

graph--

pretty=oneline--

abbrev

-commit

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

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

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

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

合併分支時,加上–no-ff引數就可以用普通模式合併,合併後的歷史有分支,能看出來曾經做過合併,而fast forward合併就看不出來曾經做過合併

廖雪峰 Git 分支管理 3 分支管理策略

通常,合併分支時,如果可能,git 會用fast forward模式,但這種模式下,刪除分支後,會丟掉分支資訊。如果要強制禁用fast forward模式,git 就會在 merge 時生成乙個新的 commit,這樣,從分支歷史上就可以看出分支資訊。下面我們實戰一下 no ff方式的git mer...

廖雪峰 Git 分支管理 3 分支管理策略

通常,合併分支時,如果可能,git 會用fast forward模式,但這種模式下,刪除分支後,會丟掉分支資訊。如果要強制禁用fast forward模式,git 就會在 merge 時生成乙個新的 commit,這樣,從分支歷史上就可以看出分支資訊。下面我們實戰一下 no ff方式的git mer...

廖雪峰Git教程筆記(二十)標籤管理

發布乙個版本時,我們通常先在版本庫中打乙個標籤 tag 這樣,就唯一確定了打標籤時刻的版本。將來無論什麼時候,取某個標籤的版本,就是把那個打標籤的時刻的歷史版本取出來。所以,標籤也是版本庫的乙個快照。git的標籤雖然是版本庫的快照,但其實它就是指向某個commit的指標 跟分支很像對不對?但是分支可...