柚子快報(bào)邀請(qǐng)碼778899分享:在Git中創(chuàng)建新分支
柚子快報(bào)邀請(qǐng)碼778899分享:在Git中創(chuàng)建新分支
概述
在 git 中分支是 git?工作流的核心概念。我們知道它是一個(gè)分布式版本控制系統(tǒng),允許多個(gè)開發(fā)人員在分布式環(huán)境中同時(shí)處理單個(gè)項(xiàng)目。git 中的分支有助于開發(fā)人員在保持穩(wěn)定性的同時(shí)獨(dú)立工作。每個(gè)開發(fā)人員都可以通過(guò)創(chuàng)建不同的分支來(lái)開發(fā)軟件的任何功能,最后,所有分支都可以合并以獲得生成的軟件產(chǎn)品。
先決條件
要應(yīng)用分支的概念,我們應(yīng)該了解?git 中的基本命令,例如:
命令功能git 初始化用于創(chuàng)建本地的新 git 存儲(chǔ)庫(kù)git 添加用于將未跟蹤的文件添加到暫存區(qū)域git 提交用于將暫存更改提交到遠(yuǎn)程 git 存儲(chǔ)庫(kù)Git 狀態(tài)用于顯示工作目錄和暫存區(qū)域的當(dāng)前狀態(tài)git push origin master用于將提交的更改推送到遠(yuǎn)程存儲(chǔ)庫(kù)的 main/master 分支。
如何在Git中創(chuàng)建新分支?
分支是 git 中的一個(gè)概念,它允許我們從主分支中發(fā)散并繼續(xù)以孤立的方式工作,而不會(huì)弄亂主分支。在 git 中,每個(gè)分支都是任何存儲(chǔ)庫(kù)的一個(gè)版本,或者我們可以將其稱為獨(dú)立的開發(fā)線。任何存儲(chǔ)庫(kù)都可以有多個(gè)分支,每個(gè)分支都有不同版本的存儲(chǔ)庫(kù)。分支在許多方面都有幫助;首先,我們可以以隔離的方式處理任何特定功能,而不會(huì)干擾主分支上的工作。這樣一來(lái),錯(cuò)誤修復(fù)的開發(fā)也將得到促進(jìn),并且錯(cuò)誤會(huì)更少,因?yàn)榫S護(hù)部分工作比讓大型分支擁有所有代碼更容易。分支還有助于維護(hù)代碼庫(kù)的穩(wěn)定性。
要在 git 中創(chuàng)建分支,我們可以使用以下命令:
git branch
當(dāng)您想要開發(fā)新功能時(shí),可以使用命令 git branch?new_branch_name?創(chuàng)建一個(gè)與主分支不同的分支。
如果要顯示存儲(chǔ)庫(kù)中的分支總數(shù),則可以使用以下命令:
git branch
上面的命令將顯示存儲(chǔ)庫(kù)中的所有本地分支,以及我們當(dāng)前所在的分支名稱前面標(biāo)記的?*?符號(hào)。
要在存儲(chǔ)庫(kù)的不同分支之間切換,我們可以使用以下命令:
git checkout
在這里,我們可以提供我們想要結(jié)賬的分行的名稱。
分支命名約定
在命名分支時(shí),我們應(yīng)該遵循一些最佳實(shí)踐:
1. 避免分支名稱過(guò)長(zhǎng):
分支名稱應(yīng)簡(jiǎn)短、解釋性強(qiáng)且信息豐富。冗長(zhǎng)而詳細(xì)的分支名稱不被認(rèn)為是一種好的命名方式。
2. 使用連字符(-)或下劃線(_)作為分支名稱中不同單詞之間的分隔符:
您可以使用連字符、下劃線、斜杠或任何分隔符來(lái)區(qū)分分支名稱中的單詞。它有助于提高可讀性,使其易于理解而不是混淆。
例如:如果沒(méi)有分隔符分支,名稱 addednewfeature?的可讀性較差且更令人困惑,并且通過(guò)使用分隔符added_new_feature,它很容易理解。
3. 避免僅使用數(shù)字作為分支名稱:
使用數(shù)字作為分支名稱不是一個(gè)好的做法,因?yàn)樗枰子诶斫?,并增加混淆和錯(cuò)誤風(fēng)險(xiǎn)。
例如,12345?作為分支名稱沒(méi)有任何意義,并且會(huì)導(dǎo)致錯(cuò)誤。
4. 以類別詞開頭的分支名稱:
為了提高效率并確定?Git?分支的目的,我們可以在分支名稱前面添加類別詞,例如?BUG(它將表明正在特定分支中完成修復(fù) bug 的工作)、FEATURE(它將表明新功能的工作正在進(jìn)行中),?WIP(將顯示工作正在進(jìn)行中)
可視化分支
Git?提供了一種非常好的方法來(lái)可視化分支,這有助于我們了解存儲(chǔ)庫(kù)中各個(gè)分支的流程和狀態(tài)。
我們可以使用命令
git log --graph --simplify-by-decoration --pretty=format:'%d' --all
可視化分支樹。
該命令的輸出如下圖所示:
從當(dāng)前分支創(chuàng)建新的 Git 分支
從當(dāng)前分支創(chuàng)建 git 分支的最常見(jiàn)和最流行的方法是:
git branch
如果要切換到新創(chuàng)建的分支,可以調(diào)用:
git checkout
除了上述兩個(gè)命令之外,還有一個(gè)替代命令,它有助于創(chuàng)建一個(gè)新分支并自動(dòng)打開該新分支。
git checkout -b
從其他分支創(chuàng)建新的 Git 分支
要從不同的分支創(chuàng)建一個(gè)新分支,我們可以編寫:
git checkout -b
在上面的命令中,將 new_branch_name?替換為新分支的名稱,different_branch_name替換為已存在的特定不同分支的名稱;它是需要從中創(chuàng)建新分支的分支。
從 Commit 創(chuàng)建 Git 分支
Git commit?是用于在特定時(shí)間拍攝?git?存儲(chǔ)庫(kù)暫存更改的快照的命令,git log?是用于查看給定存儲(chǔ)庫(kù)的提交歷史記錄的命令。日志中的每個(gè)提交都有一個(gè)唯一的提交 ID、有關(guān)作者的信息、時(shí)間戳以及與提交關(guān)聯(lián)的消息或描述。我們可以轉(zhuǎn)到特定版本并開始我們的工作,從而創(chuàng)建一個(gè)單獨(dú)的分支,在特定版本上創(chuàng)建分支或提交 git 存儲(chǔ)庫(kù)的命令是:
git branch
這種方法主要在我們想去以前的提交或存儲(chǔ)庫(kù)的某個(gè)版本以在那里添加一些新功能或處理一些錯(cuò)誤時(shí)有用。
要檢出到新創(chuàng)建的分支,我們可以使用以下命令:
git checkout
從標(biāo)簽創(chuàng)建 Git 分支
git 中的標(biāo)簽是 git?倉(cāng)庫(kù)歷史中的一個(gè)特定點(diǎn),主要用于將提交標(biāo)記為相關(guān)且不可更改。當(dāng)您希望將該點(diǎn)創(chuàng)建為代碼的穩(wěn)定發(fā)布版本時(shí),它們非常有用。
要從標(biāo)簽創(chuàng)建一個(gè) git 分支,我們可以首先使用以下命令創(chuàng)建一個(gè)標(biāo)簽:
git tag
然后,我們可以使用以下命令從該標(biāo)簽創(chuàng)建一個(gè)分支:
git branch
要檢出到這個(gè)新分支,我們可以寫:
git checkout
使用分離的 HEAD 狀態(tài)創(chuàng)建分支
分離的 HEAD?狀態(tài)是簽出特定提交的位置,但該提交不是分支的一部分。
要使用該?Detached HEAD?創(chuàng)建分支,我們可以首先使用以下命令檢出該提交:
git checkout commit_id
提交 ID?是使用安全哈希算法生成的唯一加密數(shù)字??梢酝ㄟ^(guò)使用 git log 命令獲取?git?倉(cāng)庫(kù)中的提交歷史來(lái)獲取,我們可以選擇要使用的提交的提交 id。
檢出提交后,我們可以使用以下命令創(chuàng)建一個(gè)分支:
git branch
要簽出到新分支,您可以編寫:
git checkout
從遠(yuǎn)程分支創(chuàng)建分支
要從遠(yuǎn)程分支創(chuàng)建本地分支,我們可以首先使用以下命令創(chuàng)建一個(gè)新的遠(yuǎn)程分支:
git remote add
然后,我們可以將遠(yuǎn)程存儲(chǔ)庫(kù)的更改獲取到本地,以便它可以使用以下命令獲取遠(yuǎn)程分支的詳細(xì)信息:
git fetch
然后,要從遠(yuǎn)程分支創(chuàng)建本地分支,我們可以編寫:
git branch
要簽出到新分支,您可以編寫:
git checkout
在遠(yuǎn)程存儲(chǔ)庫(kù)中創(chuàng)建分支
眾所周知,我們可以使用以下命令創(chuàng)建一個(gè)本地分支:
git checkout -b
然后,簽入此當(dāng)前本地分支后,我們可以將其發(fā)布到遠(yuǎn)程 git 存儲(chǔ)庫(kù)中。為此,我們可以使用 push 命令:
git push -u
在這里,標(biāo)志?-u?維護(hù)本地分支和新的遠(yuǎn)程分支之間的跟蹤關(guān)系。在上面的命令中,
本地和遠(yuǎn)程刪除 Git 分支
雖然分支為我們提供了一種以獨(dú)立方式處理不同功能的好方法,但最好在完成后刪除分支。
Git 不允許你刪除當(dāng)前所在的分支,因此你需要簽出到另一個(gè)分支才能刪除當(dāng)前分支。
如果您有兩個(gè)分支,一個(gè)是?developer_local?分支,一個(gè)是 main 分支,并且想要?jiǎng)h除?developer_local?分支,則可以先使用以下命令簽出“main”分支:
git checkout main
現(xiàn)在,要?jiǎng)h除分支,我們可以使用以下命令:
git delete -d
在此示例中,我們可以使用:
git delete -d developer_local
這將刪除developer_local分支。您也可以使用?git branch?命令進(jìn)行檢查。這對(duì)于列出項(xiàng)目存儲(chǔ)庫(kù)中的當(dāng)前本地分支非常有用。
帶有?git delete?命令的?-d?選項(xiàng)只會(huì)刪除已推送并合并到遠(yuǎn)程分支的分支。但是,如果要強(qiáng)制刪除分支,即使更改尚未推送或合并,也可以使用以下命令:
git delete -D
此命令將強(qiáng)制刪除本地分支。
現(xiàn)在,如果要?jiǎng)h除遠(yuǎn)程分支,則可以提及遠(yuǎn)程分支的名稱,并使用以下命令刪除分支:
git push
此命令將遠(yuǎn)程刪除分支。
結(jié)論
git 中的分支允許開發(fā)人員在獨(dú)立的開發(fā)路線上工作。他們可以快速使用分支從主要生產(chǎn)分支發(fā)散,在隔離穩(wěn)定的環(huán)境中工作。分支主要用于多個(gè)開發(fā)人員在同一個(gè)項(xiàng)目上工作,并且每個(gè)開發(fā)人員都在其本地分支上開發(fā)獨(dú)立的軟件功能。然后我們可以合并所有分支的更改以獲得完整的軟件。命名分支時(shí)要遵循的一些好約定包括使用簡(jiǎn)短的信息名稱,包括連字符、破折號(hào)和下劃線作為分隔符,同時(shí)為分支命名,以及在命名分支時(shí)避免僅使用數(shù)字。根據(jù)用例,存在不同的方法和命令來(lái)創(chuàng)建分支。我們可以從當(dāng)前分支、不同分支、標(biāo)簽、提交(使用其提交 ID)、分離?HEAD 狀態(tài)或遠(yuǎn)程分支創(chuàng)建本地分支。要?jiǎng)h除本地分支,我們可以使用命令?git branch -d
柚子快報(bào)邀請(qǐng)碼778899分享:在Git中創(chuàng)建新分支
文章鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。