1. 程式人生 > >Git安裝教程(三)分支管理之分支管理策略

Git安裝教程(三)分支管理之分支管理策略

ive comm 歷史 -a adg txt文件 post graph 刪除

通常,合並分支時,如果可能,Git會用Fast forward模式,但這種模式下,刪除分支後,會丟掉分支信息。

如果要強制禁用Fast forward模式,Git就會在merge時生成一個新的commit,這樣,從分支歷史上就可以看出分支信息。

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

首先,仍然創建並切換dev分支:

$ git checkout -b dev
Switched to a new branch dev

修改readgit.txt文件,並提交一個新的commit:

$ git add readgit.txt
$ git commit -m "add two
" [dev 80d4b2e] add two 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.
 readgit.txt | 1 +
 1 file changed, 1 insertion(+)

因為本次合並要創建一個新的commit,所以加上-m參數,把commit描述寫進去。

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

$ git log --graph --pretty=oneline --abbrev-commit
*   ca2581f (HEAD -> master) merge with no-ff
|| * 80d4b2e (dev) add two
|/
*   43fd2d3 conflict fixed

Git分支十分強大,在團隊開發中應該充分應用。

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

合並就看不出來曾經做過合並。

Git安裝教程(三)分支管理之分支管理策略