紹興市中等專業(yè)學(xué)校網(wǎng)站軟文外鏈代發(fā)
目錄
一、Git分支(Branch)
1.1 分支作用
1.2?四種分支管理策略
1.3?使用案例
1.3.1 指令?
1.3.2 結(jié)合應(yīng)用場(chǎng)景使用
?
二、Git標(biāo)簽(Tag)
2.1 標(biāo)簽作用
2.2 標(biāo)簽規(guī)范
2.3 使用案例
2.3.1 指令
2.3.2 使用示例
一、Git分支(Branch)
????????當(dāng)我們談?wù)摪姹究刂葡到y(tǒng)時(shí),分支是一個(gè)關(guān)鍵的概念。在 Git 中,分支是用來處理不同代碼線路的機(jī)制,允許你在項(xiàng)目的不同部分之間工作而不影響主要代碼線。
1.1 分支作用
????????分支是 Git 中用來處理項(xiàng)目中不同功能或特性的獨(dú)立線路的工具。它允許你在不影響主要項(xiàng)目的同時(shí)進(jìn)行開發(fā)、測(cè)試和實(shí)驗(yàn)。每個(gè)分支都是獨(dú)立的,修改一個(gè)分支不會(huì)影響其他分支。
應(yīng)用場(chǎng)景:
- 新功能開發(fā): 創(chuàng)建一個(gè)新的分支,專注于新功能的開發(fā),而不會(huì)影響主分支(通常是
master
)。 - Bug 修復(fù): 如果在主分支上發(fā)現(xiàn)了 bug,可以在一個(gè)新分支上進(jìn)行修復(fù),而不會(huì)中斷正在進(jìn)行的開發(fā)。
- 實(shí)驗(yàn)性開發(fā): 為了嘗試一些實(shí)驗(yàn)性的想法,可以創(chuàng)建一個(gè)分支,在上面進(jìn)行實(shí)驗(yàn),然后決定是否將其合并到主分支。
1.2?四種分支管理策略
在Git中,分支有四個(gè)主要的環(huán)境,通常被稱為四種基本的分支管理策略:?
一、主分支(Master/Main)
- 作用: 主分支通常是項(xiàng)目的主要分支,包含了當(dāng)前最穩(wěn)定、可部署的代碼。
- 應(yīng)用場(chǎng)景: 當(dāng)開發(fā)新功能或修復(fù) bug 時(shí),通常從主分支創(chuàng)建新的分支進(jìn)行工作。
二、開發(fā)分支(Develop):
- 作用: 開發(fā)分支是用于集成各種功能的主分支。當(dāng)一個(gè)開發(fā)周期結(jié)束時(shí),開發(fā)分支通常會(huì)合并到主分支,形成一個(gè)穩(wěn)定的版本。
- 應(yīng)用場(chǎng)景: 在開發(fā)新功能時(shí),從主分支創(chuàng)建一個(gè)新的開發(fā)分支,完成開發(fā)后再將其合并回開發(fā)分支。
三、特性分支(Feature):
- 作用: 特性分支用于開發(fā)單個(gè)功能或特性。每個(gè)特性都有一個(gè)對(duì)應(yīng)的特性分支,使得功能的開發(fā)獨(dú)立于主分支和其他特性。
- 應(yīng)用場(chǎng)景: 當(dāng)需要添加新功能時(shí),從開發(fā)分支創(chuàng)建一個(gè)新的特性分支,完成開發(fā)后將其合并回開發(fā)分支。
四、發(fā)布分支(Release):
- 作用: 發(fā)布分支用于準(zhǔn)備發(fā)布新版本。在發(fā)布分支上進(jìn)行最后的測(cè)試、文檔更新和版本號(hào)增加等操作。
- 應(yīng)用場(chǎng)景: 當(dāng)開發(fā)周期結(jié)束時(shí),從開發(fā)分支創(chuàng)建一個(gè)新的發(fā)布分支,準(zhǔn)備發(fā)布。發(fā)布后,將發(fā)布分支合并回主分支和開發(fā)分支。
????????這些環(huán)境提供了一種有效的方式來組織團(tuán)隊(duì)的工作流,確保代碼的穩(wěn)定性和可維護(hù)性。使用這些環(huán)境,可以清晰地了解每個(gè)分支的目的和狀態(tài),從而更輕松地協(xié)作和集成代碼。這種分支管理策略通常被稱為Git Flow,是一種在軟件開發(fā)中廣泛應(yīng)用的工作流程。
1.3?使用案例
1.3.1 指令?
# 查看本地分支
git branch # 創(chuàng)建新分支
git branch feature-branch# 切換到新分支
git checkout feature-branch# 或者一步到位(創(chuàng)建+切換)
git checkout -b feature-branch# 合并分支到主分支
git checkout master
git merge feature-branch# 刪除已合并的分支
git branch -d # 刪除遠(yuǎn)程分支
git push origin --delete dev # 提交分支 如果遠(yuǎn)程沒有這個(gè)分支他會(huì)自動(dòng)創(chuàng)建這個(gè)分支
git push origin feature-branch
1.3.2 結(jié)合應(yīng)用場(chǎng)景使用
主分支(Master/Main): 主分支是項(xiàng)目的默認(rèn)分支,通常包含了最新的穩(wěn)定版本。在許多項(xiàng)目中,主分支的名稱是 master
或 main
。
1、創(chuàng)建并切換分支:你可以創(chuàng)建一個(gè)新的分支,這個(gè)分支是從當(dāng)前工作目錄的狀態(tài)創(chuàng)建的,包含了當(dāng)前工作目錄中的所有文件和文件夾。?
2、在分支上工作: 在特定的分支上工作時(shí),你可以進(jìn)行修改、添加新文件等操作。這些操作不會(huì)影響其他分支,因?yàn)槊總€(gè)分支都有獨(dú)立的工作目錄。
測(cè)試:新建的兩個(gè)文件添加都暫存區(qū)再提交到本地倉庫之后,切換分支會(huì)是怎樣的效果呢?
切換到master之后,原來添加的文件就消失了
?
3、提交分支
就可在gitee遠(yuǎn)程倉庫中查看了
在此分支開發(fā)的代碼與其他互不相干了,若開發(fā)完成可與主分支進(jìn)行合并
二、Git標(biāo)簽(Tag)
2.1 標(biāo)簽作用
????????標(biāo)簽是一個(gè)指向特定提交的引用,通常用于標(biāo)記版本發(fā)布。標(biāo)簽可以使你在不同版本之間輕松切換,而不必記住各個(gè)提交的哈希值。
應(yīng)用場(chǎng)景:
- 版本發(fā)布: 在發(fā)布一個(gè)穩(wěn)定版本時(shí),可以為該提交打上標(biāo)簽,以便將來可以輕松地找到和檢出該版本。
- 歷史記錄標(biāo)記: 在項(xiàng)目的關(guān)鍵點(diǎn)上打標(biāo)簽,以便于回顧項(xiàng)目的歷史記錄。
2.2 標(biāo)簽規(guī)范
在 Git 中,標(biāo)簽的命名規(guī)則相對(duì)靈活,但有一些推薦的約定和最佳實(shí)踐:
-
版本號(hào): 最常見的標(biāo)簽是用于表示軟件版本的。使用語義化版本號(hào)是一種常見的做法,其中版本號(hào)包括主版本號(hào)、次版本號(hào)和修訂號(hào),形式為
MAJOR.MINOR.PATCH
。例如:v1.0.0
。 -
前綴: 通常,標(biāo)簽前面加上字母 'v' 作為版本的前綴是一種常見的做法。例如:
v2.1.3
。 -
發(fā)布候選(Release Candidate): 有時(shí)在軟件發(fā)布前可能有一些預(yù)發(fā)布版本,可以使用
-rc
或其他類似的標(biāo)記。例如:v1.0.0-rc
。 -
修訂版或修復(fù)版本: 有時(shí)可能需要對(duì)某個(gè)版本進(jìn)行修復(fù),可以通過在版本號(hào)后添加修復(fù)版本號(hào),如
v1.0.1
。 -
時(shí)間戳: 在某些情況下,可以使用時(shí)間戳作為標(biāo)簽,特別是在需要唯一性的情況下。例如:
v20220101
. -
語義化標(biāo)簽: 使用能夠清晰表達(dá)標(biāo)簽?zāi)康牡恼Z義化標(biāo)簽。例如:
release-2.0
,feature-new-login
, 等。
注意事項(xiàng):
- 避免使用特殊字符,空格或弱引用字符,以免引起不必要的問題。
- 標(biāo)簽名稱對(duì)大小寫敏感,因此
v1.0
和V1.0
是兩個(gè)不同的標(biāo)簽。 - 在使用標(biāo)簽時(shí)要保持一致性,遵循項(xiàng)目內(nèi)的約定。
????????總體而言,標(biāo)簽的命名規(guī)則是由項(xiàng)目的團(tuán)隊(duì)來定義的。選擇一種清晰、有意義、易于理解的命名約定對(duì)于項(xiàng)目的長期維護(hù)和協(xié)作是非常有幫助的。
2.3 使用案例
2.3.1 指令
# 列出所有標(biāo)簽
git tag# 添加標(biāo)簽
git tag v1.0.0# 附注標(biāo)簽: 包含標(biāo)簽的名稱、郵箱、日期和標(biāo)簽消息。它是一個(gè)更詳細(xì)的標(biāo)簽類型。
git tag -a v1.0.0 -m "Version 1.0.0"# 刪除標(biāo)簽
git tag -d v1.0.0# 刪除遠(yuǎn)程標(biāo)簽(已推送的標(biāo)簽)
git push origin --delete v1.0.0# 推送標(biāo)簽
git push origin v1.0.0# 如果你有多個(gè)標(biāo)簽,可以使用 --tags 選項(xiàng)一次性推送所有標(biāo)簽。
git push origin --tags
?
2.3.2 使用示例
這是一個(gè)簡(jiǎn)單的當(dāng)前版本代碼的標(biāo)簽推送:
推送標(biāo)簽后,其他團(tuán)隊(duì)成員可以通過拉取最新的標(biāo)簽來獲取項(xiàng)目中的特定版本。例如:
git pull origin v1.0.0.20231112_dev
這將獲取遠(yuǎn)程倉庫中的 v1.0
標(biāo)簽,并將你的本地倉庫切換到這個(gè)版本。