当我更改 git 分支时切换 node_modules 文件夹

Posted

技术标签:

【中文标题】当我更改 git 分支时切换 node_modules 文件夹【英文标题】:Switch node_modules folder when I change git branch 【发布时间】:2016-12-18 18:14:30 【问题描述】:

我正在使用两个分支,masterfeature-1

在主分支中,我使用了一个库 xyz@1.0

在分支feature-1 我已经从库xyz 版本2.0 安装了一个新版本

feature-1 尚未在 master 分支上合并,因为它尚未完成。然后当我再次切换到master 时,我必须重新安装lib@1.0,如果我再次切换到feature-1,我必须重新安装lib@2.0

在这些案例中最好的工作流程方法是什么?

【问题讨论】:

【参考方案1】:

你用 git 做得很好,每次切换时,你都必须做你的npm i

但如果你经常从一个分支切换到另一个分支,你应该考虑使用在最近的 git 版本中引入的 git worktree 并且 允许签出另一个分支另一个文件夹(此处为feature-1)但共享相同的存储库(非常适合这种类型的工作流程!)。

这样您就可以为每个分支执行一次npm i 并在每个分支上并行工作。

使用起来很简单,但我会让你看一下文档。

完成后,只需删除添加了工作区的文件夹(但不是带有 .git 文件夹的主文件夹!)

【讨论】:

这正是我所需要的。我也有这种情况,在不同的分支中处理同一个项目的不同版本。

以上是关于当我更改 git 分支时切换 node_modules 文件夹的主要内容,如果未能解决你的问题,请参考以下文章

在 git 中切换分支时,如何让 Emacs 恢复所有未更改的缓冲区?

阻止 VS Code 跟踪对 node_modules 的更改

当 Jupyter 笔记本在一个分支上运行时,如何安全地切换 Git 分支?

使用 Git 和 Github 理解分支

git:切换分支并忽略任何更改而不提交

git 切换远程分支