先上总结:前端
在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文件夹