git worktree 的使用
由于工作设备的变更和限制,现有项目中的旧有版本只能依赖于 nodejs 14 版本,导致新设备不能正常开发,故在原有基础上更新开发分支的依赖包
升级清单
- node-sass 变更为 sass
- 升级部分依赖包
- 添加 eslint 的代码检查
- 升级 vue-cli
升级后的问题
由于依赖包升级,运行环境变更,导致切换分支后每次都要 npm install,重新安装依赖包,耗费大量时间和精力,鉴于此问题,用 git worktree 来解决
- 创建你的工作目录
mkdir myproject
cd myproject
- 以 bare 形式 clone 仓库代码
git clone --bare xxxxxx.git .bare
.bare 的目录完成后是这样的
- 修改.bare 路径下的 config 文件,在 url =xxx 的后边添加以下内容
fetch = +refs/heads/*:refs/remotes/origin/*
- 在 myproject 的目录下添加.git 文件,在文件中写入以下内容,让文件内容以 gitdir 的形式指向我们的.bare 文件夹
gitdir: ./.bare
- 然后我们就可以开始添加 worktree 了,比如添加 dev
git worktree add dev dev
| command | describe |
|---|---|
| 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 |
切换分支只需要 cd 到相应的目录即可,不需要使用 git checkout 的步骤了,这样就可以达到多分支协同开发,依赖环境互不影响的目的