git 六 分支的建立與合併

2021-09-08 04:33:40 字數 2437 閱讀 4820

在版本回填退里,已經知道,每次提交,git都把它們串成一條時間線,這條時間線就是乙個分支。截止到目前,只有一條時間線,在git裡,這個分支叫主分支,即master分支。head嚴格來說不是指向提交,而是指向master,master才是指向提交的,所以,head指向的就是當前分支。

首先,我們來建立dev分支,然後切換到dev分支上。如下操作:

git checkout 命令加上 –b引數表示建立並切換,相當於如下2條命令

git branch dev

git checkout dev

git branch檢視分支,會列出所有的分支,當前分支前面會新增乙個星號。然後在dev分支上繼續做demo,比如現在在readme.txt再增加一行 7777777777777

首先先來檢視下readme.txt內容,接著新增內容77777777,如下:

現在我們可以把dev分支上的內容合併到分支master上了,可以在master分支上,使用如下命令 git merge dev 如下所示:

git merge命令用於合併指定分支到當前分支上,合併後,再檢視readme.txt內容,可以看到,和dev分支最新提交的是完全一樣的。

注意到上面的fast-forward資訊,git告訴我們,這次合併是「快進模式」,也就是直接把master指向dev的當前提交,所以合併速度非常快。

合併完成後,我們可以接著刪除dev分支了,操作如下:

總結建立與合併分支命令如下:

檢視分支:git branch

建立分支:git branch name

切換分支:git checkout name

建立+切換分支:git checkout –b name

合併某分支到當前分支:git merge name

刪除分支:git branch –d name

下面我們還是一步一步來,先新建乙個新分支,比如名字叫fenzhi1,在readme.txt新增一行內容8888888,然後提交,如下所示:

同樣,我們現在切換到master分支上來,也在最後一行新增內容,內容為99999999,如下所示:

現在需要在master分支上來合併fenzhi1,如下操作:

git用<<<<<<>>>>>>標記出不同分支的內容,其中<<>>>>fenzhi1 是指fenzhi1上修改的內容,我們可以修改下如下後儲存:

如果我想檢視分支合併的情況的話,需要使用命令 git log.命令列演示如下:

3.分支管理策略

通常合併分支時,git一般使用」fast forward」模式,在這種模式下,刪除分支後,會丟掉分支資訊,現在我們來使用帶引數 –no-ff來禁用」fast forward」模式。首先我們來做demo演示下:

建立乙個dev分支。

修改readme.txt內容。

新增到暫存區。

切換回主分支(master)。

合併dev分支,使用命令 git merge –no-ff  -m 「注釋」 dev

檢視歷史記錄

截圖如下:

分支策略:首先master主分支應該是非常穩定的,也就是用來發布新版本,一般情況下不允許在上面幹活,幹活一般情況下在新建的dev分支上幹活,幹完後,比如上要發布,或者說dev分支**穩定後可以合併到主分支master上來。

git實踐系列六 分支

git強大之處就是分支的快速切換,那麼分支怎麼理解呢?git 中的分支,其實本質上僅僅是個指向 commit 物件的可變指標。git 會使用 master 作為分支的預設名字。在若干次提交後,你其實已經有了乙個指向最後一次提交物件的 master 分支,它在每次提交的時候都會自動向前移動。摘自git...

Git 六 分支管理策略 如何禁用快速合併

一 分支管理策略 通常,合併分支時,如果可以那就使用快速合併 fast forward 但是有一些分支在合併的時候儘管不能產生分支衝突但是也不能使用快速合併。這個時候會在合併之後做一次新的提交,但是該模式下,刪除分支,會丟掉部分資訊。1.例項 不能使用快速合併同時也不會產生分支衝突的情況 1.建立並...

廖雪峰Git學習日記(六) 分支管理

目錄 一 建立並切換到新的dev分支,可以使用兩種方式 二 切換到已有的master分支,可以使用兩種方式 三 把dev分支的工作成功合併到master分支上 四 刪除dev分支 五 檢視分支情況 小結 git merge dev git branch d dev git branchgit鼓勵大量...