版本管理之 git 分支管理
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
分支的英文是 branch,可以大概這么來(lái)理解。 一個(gè)項(xiàng)目如同一個(gè)游戲,游戲有主線任務(wù)和支線任務(wù)。 支線任務(wù)完成了,就要回到主線任務(wù)上來(lái)繼續(xù)整個(gè)游戲的進(jìn)度。 分支同樣分為主分支和其它分支,這里的其它分支可以有開(kāi)發(fā)分支,功能分支,修復(fù)分支等等。 就好像一個(gè)個(gè)不同的支線任務(wù)。 通過(guò)這些不同的分支,開(kāi)發(fā)者可以在不影響主代碼庫(kù)的情況下進(jìn)行開(kāi)發(fā)和測(cè)試。 最終的代碼都會(huì)回到主分支,稱為分支的合并,以完成整個(gè)項(xiàng)目的進(jìn)度。 本文將介紹 Git 分支的創(chuàng)建和切換、以及分支的合并。 分支的概念分支是代碼庫(kù)的一個(gè)獨(dú)立開(kāi)發(fā)線。 每個(gè)分支都有自己的提交歷史,允許開(kāi)發(fā)者在不同的分支上并行工作,而不會(huì)干擾其他分支的開(kāi)發(fā)。 常見(jiàn)的分支類型包括:
分支的創(chuàng)建和切換創(chuàng)建和切換分支是 Git 中的基本操作。 每個(gè)倉(cāng)庫(kù)的默認(rèn)分支是主分支,一般名稱是 main 或 master。 當(dāng)開(kāi)發(fā)人員要來(lái)開(kāi)始工作的時(shí)候,一般不會(huì)直接在主分支上操作,而是基于主分支創(chuàng)建出一個(gè)新的分支。 創(chuàng)建新分支
創(chuàng)建分支的命令比較簡(jiǎn)單,咱們來(lái)創(chuàng)建一個(gè)名為
執(zhí)行完之后,看到在左下角,顯示的還是 master,點(diǎn)擊一下 master,在上方正中間看到新創(chuàng)建的分支信息。 那要如何切換到新的分支上工作呢? 切換到新分支其它在剛才的 UI 界面,點(diǎn)擊一個(gè)新創(chuàng)建的分支即可切換到新的分支上。 這里說(shuō)一下使用命令行如何操作。
這樣的話,切換到
可以看到顯示的信息提示已經(jīng)切換到了 創(chuàng)建并切換到新分支剛才講的是兩步操作,先創(chuàng)建分支,再切換分支。 通常情況下,創(chuàng)建分支的目的就是切換過(guò)去工作,所以這兩個(gè)操作可以合并到一起操作。
例如,創(chuàng)建并切換到
注意這里的顯示信息與剛才的相比,多了一個(gè) 分支的合并當(dāng)功能開(kāi)發(fā)完成后,需要將功能分支合并回主分支或開(kāi)發(fā)分支。 合并操作可以將一個(gè)分支的更改引入到另一個(gè)分支中。以下是合并分支的步驟: 現(xiàn)在我們?cè)?code style="-webkit-tap-highlight-color: transparent; margin: 0px; padding: 0.1em 0.3em; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; line-height: 1; white-space: initial; color: rgb(51, 51, 51); background: rgba(27, 31, 35, 0.05); border-radius: 0.3em; font-weight: bold; font-size: 1em; top: -0.1em;">feature-mytask2分支上,對(duì) hello.txt 文件做一些修改。 現(xiàn)在我們這部分修改合并到 切換到目標(biāo)分支我們的目標(biāo),是把 feature-mytask2 合并到 feature-mytask。 這里 feature-mytask 是目標(biāo)分支。
合并功能分支在目標(biāo)分支上,執(zhí)行合并操作,合并操作指定需要從哪個(gè)分支合并修改。
這樣修改就直接合并過(guò)去了。通過(guò) git graph 也能查看到如下信息。 解決沖突剛才的合并非常順利,因?yàn)槲覀兊淖儎?dòng)只發(fā)生在了功能分支。 假如目標(biāo)分支里也存在變動(dòng),合并的時(shí)候就可能會(huì)有沖突。 如果有沖突產(chǎn)生,在執(zhí)行合并操作時(shí)會(huì)提示要去解決沖突。 這時(shí)我們要打開(kāi)沖突文件,手動(dòng)編輯并解決沖突,然后提交更改。 我嘗試著在分支 然后重復(fù)上述的合并操作。得到如下結(jié)果。 可以看到 git 自動(dòng)合并的沖突,原因是因?yàn)檫@里的修改比較簡(jiǎn)單。 如果遇到復(fù)雜的沖突場(chǎng)景,當(dāng) git 無(wú)法解決的時(shí)候,就會(huì)提示手工解決沖突。 這里就不再模擬,后面在實(shí)戰(zhàn)中遇到了咱們?cè)僬f(shuō)。 總結(jié)
該文章在 2024/12/4 17:25:56 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |