tft每日頭條

 > 生活

 > git分支使用手冊

git分支使用手冊

生活 更新时间:2025-01-16 04:00:08
前言

今天這篇文章我們繼續Git教學的第五篇,主要講解的是git的分支管理,這也号稱是git的‘必殺技特性’。

git分支使用手冊(Git教學篇5-git必殺技特性)1

git

分支是什麼?

git通過保存一系列不同時刻的文件快照來實現數據存儲。

每次在進行git提交時,都會生成一個提交對象,這個提交對象都會産生一個指向暫存區内容快照的指針。而且每個提交對象中都會包含一個指向上一次提交(父提交對象)的指針。

通過這一系列指針的指向,就構成了一個分支上的所有提交記錄。如下圖中,一個分支上的三次提交記錄,生成三個版本快照,然後通過指針相連。

git分支使用手冊(Git教學篇5-git必殺技特性)2

HEAD指針

通過git branch命令也可以查看當前處于哪個分支上。如果當前在哪個分支上,則在分支名之前有一個‘*’标識。

git分支使用手冊(Git教學篇5-git必殺技特性)3

git branch

分支的合并

在一個上線的項目中,一般至少會有多個用于運行的分支,比如生産環境一般是master分支,開發環境下的dev分支,測試環境下的test分支,還有一系列的個人開發分支self。

分支的合并有merge指令即可完成,merge完成後兩個分支記錄将處于同一個狀态。

比如我們在發現一個線上問題時,需要由master分支新拉一個hotfix分支進行問題的修複,此時的分支情況可能如下如所示。

git分支使用手冊(Git教學篇5-git必殺技特性)4

分支記錄

在hotfix分支上修複完問題後,可以切換至master分支,然後将hotfix分支合并至master分支。

git分支使用手冊(Git教學篇5-git必殺技特性)5

合并分支

在分支合并完後,分支情況如下圖所示。

git分支使用手冊(Git教學篇5-git必殺技特性)6

合并後的分支

删除本地分支

當我們不再需要一個本地分支時,可以通過-d參數來删除它。

有一點需要注意的是,需要先checkout到别的分支才能删除需要删除的分支。

如上一個例子,當hotfix修複完畢後可以将hotfix分支删除。

git分支使用手冊(Git教學篇5-git必殺技特性)7

删除分支

有沖突時的分支合并

當多人協同開發時,出現文件沖突是一件很常見的事情。

沖突的原因是同一個文件的同一個部分,在不同的分支中都有修改,這樣git就無法自動合并,而是将有沖突的信息暴露出來交由開發人員自己修改後再進行合并。

當我們通過merge命令合并有沖突的分支時,會出現CONFLICT字眼,如下圖中的提示信息。

git分支使用手冊(Git教學篇5-git必殺技特性)8

沖突提示

當出現沖突時,是無法merge成功的,後續的操作也将被阻塞住,因此解決沖突是一步必要的操作。

  • 沖突文件内容

如果文件沖突後,我們打開沖突的文件,沖突部分的内容會有很明顯的<<<<<< ======= >>>>>>> 等标識。

如下圖所示就是一個沖突的文件内容。

git分支使用手冊(Git教學篇5-git必殺技特性)9

沖突文件内容

上圖中表示的是在HEAD分支和iss53分支的index.html文件沖突,接下來就需要開發人員進行決定,是選用HEAD分支中的内容還是選用iss53分支中的内容,而删掉另一個分支的内容。

  • 繼續合并

當開發人員将沖突解決後,需要再進行一次git add操作将修改的文件再次添加至暫存區,并且進行一次commit操作。

解決沖突時可以直接通過git commit而不用添加-m選項填寫額外的提交信息,默認的提交操作後會出現以下信息。

git分支使用手冊(Git教學篇5-git必殺技特性)10

解決沖突後默認commit信息

當然如果手動填寫了-m提交信息,也是可以的,就如同正常的提交操作。

結束語

今天這篇文章主要講解了git branch相關的内容,通過實際的演示提示大家的理解,大家要好好消化。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved