先上總結:
在git worktree出現之前, git切換分支前后的文件都只存在在當前文件夾下,
git worktree出現之后, 我們可以將分支切換到其他文件夾下
比如如果你的項目有很多個版本分支, 在git worktree出現之前, 為了維護不同版本你就需要頻繁切換版本, 如果項目還不小的話, 切換成本還是不小的
以我前端為例, 由於node_modules文件夾被忽略無法被跟着分支來回切換, 導致切換不同版本后還需要重新安裝npm, 很麻煩
這時使用git worktree將分支檢出到另外其他文件夾就可以避免這個問題.
將分支用git worktree檢出到其他文件夾的好處很明顯: 可以同時維護多個分支代碼、可以對比不同分支的代碼行為等等
下面是實例說明:
-
創建一個本地文件夾 test.
-
test文件夾內創建 main 文件夾並在 main 內
git init
. -
在 main 內創建一個 foo.txt 文件, 寫點東西然后 add commit
-
$ git branch br1
- 在br1分支下修改 foo.txt 然后 add commit
-
$ git worktree add ../br1 br1 #將分支導出到某新文件夾下, 此處為br1文件夾
此時在test目錄下就可以看到並存的master和br1分支下的文件, 分別對應main和br1文件夾