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