Git建立 合併和刪除分支

2021-07-09 01:55:03 字數 2334 閱讀 3705

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

一開始的時候,master分支是一條線,git用master指向最新的提交,再用head指向master,就能確定當前分支,以及當前分支的提交點:

每次提交,master分支都會向前移動一步,這樣,隨著你不斷提交,master分支的線也越來越長:

當我們建立新的分支,例如dev時,git新建了乙個指標叫dev,指向master相同的提交,再把head指向dev,就表示當前分支在dev上:

你看,git建立乙個分支很快,因為除了增加乙個dev指標,改改head的指向,工作區的檔案都沒有任何變化!

不過,從現在開始,對工作區的修改和提交就是針對dev分支了,比如新提交一次後,dev指標往前移動一步,而master指標不變:

假如我們在dev上的工作完成了,就可以把dev合併到master上。git怎麼合併呢?最簡單的方法,就是直接把master指向dev的當前提交,就完成了合併:

所以git合併分支也很快!就改改指標,工作區內容也不變!

合併完分支後,甚至可以刪除dev分支。刪除dev分支就是把dev指標給刪掉,刪掉後,我們就剩下了一條master分支:

真是太神奇了,你看得出來有些提交是通過分支完成的嗎?

1. 建立分支並切換分支

$ git checkout -b dev

switched to a new branch 'dev'

git checkout命令加上-b引數表示建立並切換,相當於以下兩條命令:

git branch dev

git checkout dev

2. 檢視當前分支

$ git branch

* dev

master

3. 修改readme.txt的內容並提交

git is a version control system.

git is free software under the gpl.

git tracks changes.

create a new branch is quick.

$ git add readme.txt

$ git commit -m "new branch dev"

[dev cd7428c] new branch dev

1 file changed, 2 insertions(+), 1 deletion(-)

4. 切換回master分支

$ git checkout master

switched to branch 'master'

your branch is up-to-date with 'origin/master'.

$ cat readme.txt

git is a version control system.

git is free software under the gpl.

git tracks changes.

5. 合併master和dev分支

$ git merge dev

updating b0e9ec8..cd7428c

fast-forward

readme.txt | 3 ++-

1 file changed, 2 insertions(+), 1 deletion(-)

6. 刪除dev分支

$ git branch -d dev

deleted branch dev (was cd7428c).

$ git branch

* master

git分支的建立,合併和刪除

首先,我們建立dev分支,然後切換到dev分支 git checkout b dev switched to a new branch dev git checkout命令加上 b引數表示建立並切換,相當於以下兩條命令 git branch dev git checkout dev switched...

Git使用九 合併和刪除分支

實際開發中的分支 目前的快照情況 git log decorate all oneline graph 可以看到,目前head是指向的master分支 合併分支 git merge 分支名 將 分支名 合併到當前分支 把feature分支合併到master分支 git merge feature 有...

git分支的建立,合併,刪除

一開始的時候,master分支是一條線,git用master指向最新的提交,再用head指向master,就能確定當前分支,以及當前分支的提交點。每次提交,master分支都會向前移動一步,這樣,隨著你不斷提交,master分支的線也越來越長。當我們建立新的分支,例如dev時,git新建了乙個指標叫...