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