教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

什么是分支?Git本地分支的十大常見操作

更新時(shí)間:2022年08月23日16時(shí)59分 來(lái)源:傳智教育 瀏覽次數(shù):

分支是什么?

分支就是科幻電影里面的平行宇宙,當(dāng)你正在電腦前努力學(xué)習(xí)Git的時(shí)候,另一個(gè)你正在另一個(gè)平行宇宙里努力學(xué)習(xí)SVN。如果兩個(gè)平行宇宙互不干擾,那對(duì)現(xiàn)在的你也沒啥影響。

不過(guò),在某個(gè)時(shí)間點(diǎn),兩個(gè)平行宇宙合并了,結(jié)果,你既學(xué)會(huì)了Git又學(xué)會(huì)了SVN!

git分支

分支在實(shí)際開發(fā)中的作用

在進(jìn)行多人協(xié)作開發(fā)的時(shí)候,為了防止互相干擾,提高協(xié)同開發(fā)的體驗(yàn),建議每個(gè)開發(fā)者都基于分支進(jìn)行項(xiàng)目功能的開發(fā),例如:

分支在實(shí)際開發(fā)中的應(yīng)用

master 主分支

在初始化本地Git 倉(cāng)庫(kù)的時(shí)候,Git 默認(rèn)已經(jīng)幫我們創(chuàng)建了一個(gè)名字叫做master的分支。通常我們把這個(gè)master 分支叫做主分支。

master主分支

在實(shí)際工作中,master 主分支的作用是:用來(lái)保存和記錄整個(gè)項(xiàng)目已完成的功能代碼。因此,不允許程序員直接在master 分支上修改代碼,因?yàn)檫@樣做的風(fēng)險(xiǎn)太高,容易導(dǎo)致整個(gè)項(xiàng)目崩潰。

功能分支

由于程序員不能直接在master 分支上進(jìn)行功能的開發(fā),所以就有了功能分支的概念。

功能分支指的是專門用來(lái)開發(fā)新功能的分支,它是臨時(shí)從master 主分支上分叉出來(lái)的,當(dāng)新功能開發(fā)且測(cè)試完畢后,最終需要合并到master 主分支上,如圖所示:

功能分支

查看分支列表

使用如下的命令,可以查看當(dāng)前Git 倉(cāng)庫(kù)中所有的分支列表:

查看分支

運(yùn)行的結(jié)果如下所示:

運(yùn)行結(jié)果

注意:分支名字前面的*號(hào)表示當(dāng)前所處的分支。

創(chuàng)建新分支

使用如下的命令,可以基于當(dāng)前分支,創(chuàng)建一個(gè)新的分支,此時(shí),新分支中的代碼和當(dāng)前分支完全一樣:

創(chuàng)建新分支

圖示如下:

切換分支

使用如下的命令,可以切換到指定的分支上進(jìn)行開發(fā):

切換分支

圖示如下:

分支的快速創(chuàng)建和切換

使用如下的命令,可以創(chuàng)建指定名稱的新分支,并立即切換到新分支上:

圖示如下:

圖示如下:

注意:

"git checkout -b 分支名稱" 是下面兩條命令的簡(jiǎn)寫形式:

①git branch 分支名稱

②git checkout 分支名稱

合并分支

功能分支的代碼開發(fā)測(cè)試完畢之后,可以使用如下的命令,將完成后的代碼合并到master 主分支上:

圖示如下:

合并分支時(shí)的注意點(diǎn):

假設(shè)要把C 分支的代碼合并到A 分支,則必須先切換到A 分支上,再運(yùn)行g(shù)it merge 命令,來(lái)合并C 分支!

刪除分支

當(dāng)把功能分支的代碼合并到master 主分支上以后,就可以使用如下的命令,刪除對(duì)應(yīng)的功能分支:

刪除分支

圖示如下:

遇到?jīng)_突時(shí)的分支合并

如果在兩個(gè)不同的分支中,對(duì)同一個(gè)文件進(jìn)行了不同的修改,Git 就沒法干凈的合并它們。此時(shí),我們需要打開這些包含沖突的文件然后手動(dòng)解決沖突。

遇到?jīng)_突時(shí)的分支合并

0 分享到:
和我們?cè)诰€交談!