git worktree

595 阅读1分钟

git worktree 的使用

由于工作设备的变更和限制,现有项目中的旧有版本只能依赖于 nodejs 14 版本,导致新设备不能正常开发,故在原有基础上更新开发分支的依赖包

升级清单

  1. node-sass 变更为 sass
  2. 升级部分依赖包
  3. 添加 eslint 的代码检查
  4. 升级 vue-cli

升级后的问题

由于依赖包升级,运行环境变更,导致切换分支后每次都要 npm install,重新安装依赖包,耗费大量时间和精力,鉴于此问题,用 git worktree 来解决

  1. 创建你的工作目录
mkdir myproject
cd myproject

  1. 以 bare 形式 clone 仓库代码
git clone --bare xxxxxx.git .bare

.bare 的目录完成后是这样的

1658977308551.jpg

  1. 修改.bare 路径下的 config 文件,在 url =xxx 的后边添加以下内容
  fetch = +refs/heads/*:refs/remotes/origin/*
  1. 在 myproject 的目录下添加.git 文件,在文件中写入以下内容,让文件内容以 gitdir 的形式指向我们的.bare 文件夹
gitdir: ./.bare
  1. 然后我们就可以开始添加 worktree 了,比如添加 dev

git worktree add dev dev

commanddescribe
git worktree add -b <local-branch> <remote-branch>添加远程仓库不存在的分支
git worktree add <local-branch> <remote-branch>添加远程仓库存在的分支
git worktree remove <local-branch>删除本地不需要的 worktree 分支
git worktree prune清理 worktree

1658986495746.jpg

切换分支只需要 cd 到相应的目录即可,不需要使用 git checkout 的步骤了,这样就可以达到多分支协同开发,依赖环境互不影响的目的