Hello,大家好,我是 Sunday。
讓我們假設(shè)一個(gè)場景:
你正在某個(gè)分支中處理一個(gè)名為“feature”的功能,突然之間需要在主分支(master)中修復(fù)一個(gè)關(guān)鍵性 bug。
如果沒有使用 git worktree,那么你必須:
特別是如果你需要多次來回切換,這就顯得很麻煩了。
但是 如果使用了 git worktree 那么整個(gè)操作的流程就會(huì)變得更加簡單。你可以直接擁有 feature 和 master 兩個(gè)分支的單獨(dú)工作目錄 并且可以分別在不同目錄之間完成開發(fā)工作,不再需要進(jìn)行來回切換
假設(shè)你目前在 feature 分支上,正在處理項(xiàng)目的開發(fā)工作。突然間,你需要在主分支上修復(fù)一個(gè)錯(cuò)誤。
那么此時(shí)你可以使用以下命令為主分支創(chuàng)建一個(gè)新的工作樹(worktree):
git worktree add ../bugfix master該命令在當(dāng)前存儲(chǔ)庫的相對(duì)路徑 ../bugfix 處創(chuàng)建一個(gè)新目錄,并在該目錄中簽出主分支?,F(xiàn)在,你可以轉(zhuǎn)到 bugfix 目錄并修復(fù) bug:
cd ../bugfix你在這里進(jìn)行的任何更改都將在主分支上進(jìn)行,并不會(huì)影響其他分支。一旦完成了bug修復(fù),則可以直接提交你的更改:
git commit -am "修復(fù) bug"現(xiàn)在,你可以返回到原工作目錄并繼續(xù)在原分支(feature)上完成之前的工作:
cd ../feature在原分支(feature)中的完成過的代碼依然存在,并且你不需要進(jìn)行額外的存儲(chǔ)和切換分支的操作。
這就是使用 git worktree 完成日常工作的操作流程,它 允許我們同時(shí)在多個(gè)分支上工作,并且每個(gè)分支都有自己的工作目錄
讓我們把整個(gè)過程梳理一遍:
## Push 操作# 從 bugfix 目錄提交 bugfix 分支cd ../bugfixgit push origin master# 從 feature 目錄提交 feature 分支cd ../featuregit push origin feature## Merge 操作# 切換分支到 mastercd ..git checkout master# 合并代碼到 mastergit merge master# 合并到 featuregit merge feature## 刪除操作git worktree remove ../bugfixgit worktree remove ../feature## 將合并后的更改推送到遠(yuǎn)程倉庫git push origin master除了上述場景之外,git worktree 還有很多其他好處:
本文鏈接:http://m.www897cc.com/showinfo-26-84001-0.htmlGit Worktree 讓你再也無需切換分支!
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com