先上總結:前端
在git worktree出現以前, git切換分支先後的文件都只存在在當前文件夾下, node
git worktree出現以後, 咱們能夠將分支切換到其餘文件夾下git
好比若是你的項目有不少個版本分支, 在git worktree出現以前, 爲了維護不一樣版本你就須要頻繁切換版本, 若是項目還不小的話, 切換成本仍是不小的npm
以我前端爲例, 因爲node_modules文件夾被忽略沒法被跟着分支來回切換, 致使切換不一樣版本後還須要從新安裝npm, 很麻煩spa
這時使用git worktree將分支檢出到另外其餘文件夾就能夠避免這個問題.code
將分支用git worktree檢出到其餘文件夾的好處很明顯: 能夠同時維護多個分支代碼、能夠對比不一樣分支的代碼行爲等等it
下面是實例說明:ast
-
建立一個本地文件夾 test.class
-
test文件夾內建立 main 文件夾並在 main 內
git init
.test -
在 main 內建立一個 foo.txt 文件, 寫點東西而後 add commit
-
$ git branch br1
- 在br1分支下修改 foo.txt 而後 add commit
-
$ git worktree add ../br1 br1 #將分支導出到某新文件夾下, 此處爲br1文件夾
此時在test目錄下就能夠看到並存的master和br1分支下的文件, 分別對應main和br1文件夾