git worktree 是什麼及其使用場景

先上總結:前端

在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文件夾

相關文章
相關標籤/搜索