避免频繁切换分支导致的node_modules重新安装问题

462 阅读2分钟

场景说明:最近项目进行结构调整,调整之后的代码相比之前改动比较大;然后突来的bug打乱了我的计划,又要切回去重新npm install,这样就很麻烦且低效。那有什么优雅的解决办法呢,一个思路是不同的分支 clone 到不同的文件夹,但这样就是相互完全独立的仓库了,不能merge。那有没有办法能在不同的文件夹中打开同一个仓库的不同分支呢,这就要介绍今天的主角:git worktree 命令了。

废话不多说,开干兄弟萌!!!

使用git worktree确实是管理不同分支代码的一个非常有效的方法,它允许你在同一仓库的不同目录下同时检出多个分支。这样,你就可以在不同的工作目录中处理不同的分支,而不需要在同一个目录中频繁切换分支和重新安装node_modules

如何使用git worktree

  1. 加一个新的工作树**:假设你想要为feature-branch分支创建一个新的工作目录,你可以使用以下命令:

   git worktree add ../feature-branch feature-branch

这个命令会在当前仓库的上一级目录中创建一个名为feature-branch的目录,并在这个目录中检出feature-branch分支。

  1. 列出所有工作树:你可以使用以下命令列出所有的工作树:

   git worktree list
  1. 在不同的工作树中工作:现在,你可以像平常一样在这些工作目录中进行工作,每个目录都有自己的node_modules和工作状态,互不干扰。

  2. 删除工作树:当你完成工作并不再需要某个工作树时,你可以先手动删除工作目录,然后使用以下命令清理工作树的元数据:

bash

   git worktree prune

注意事项

  • 使用git worktree时,每个工作树都会共享同一个.git目录,但是工作目录是分开的,这意味着每个工作树都可以有自己的依赖和构建输出。
  • 请确保你的git版本支持worktree功能(Git 2.5及以上版本)。
  • 当使用git worktree管理不同分支的代码时,你可以避免频繁切换分支导致的node_modules重新安装问题,从而提高开发效率。

git worktree是一个强大的功能,可以帮助你更高效地管理和开发多个分支上的功能。希望这个方法能够帮助到你!