繁体   English   中英

使用不同的 node_modules 文件夹进行 git checkout

[英]git checkout with different node_modules folder

我有两个分支,一个叫做“gh-pages”,另一个叫做“master”分支。 两者都有单独的文件夹,如“node_modules”,但它们完全不同。 他们没有被追踪!

因此,当检查例如“gh-pages”分支时,如下所示

git checkout gh-pages

我需要一种方法来指定 Git 不仅应该从“master”分支中删除(但保存)所有已跟踪的文件和文件夹(如“node_modules”文件夹),还应删除所有未跟踪的文件和文件夹(如“node_modules”文件夹)。 然后从“gh-pages”分支加载所有跟踪的文件和文件夹,以及所有未跟踪的文件和文件夹。

有没有一种简单的方法,或者我真的需要为每次结帐删除未跟踪的文件和文件夹,以便两者不会交叉?

我有两个分支,一个分支称为“ gh-pages”,另一个分支称为“ master”分支。 两者都有单独的文件夹,例如“ node_modules”,但它们完全不同。 他们是无人追踪的!

因此,当签出“ gh-pages”分支时,如下所示

git checkout gh-pages

我需要一种方法来指定Git不仅应从“ master”分支中删除(但保存)所有跟踪的文件,而且还应删除所有未跟踪的文件和文件夹(例如“ node_modules”文件夹)。 然后从“ gh-pages”分支加载所有跟踪的文件和文件夹,以及所有未跟踪的文件和文件夹。

有没有一种简单的方法,或者我真的需要为每个结帐删除未跟踪的文件和文件夹,以使两者不会交叉吗?

我有两个分支,一个分支称为“ gh-pages”,另一个分支称为“ master”分支。 两者都有单独的文件夹,例如“ node_modules”,但它们完全不同。 他们是无人追踪的!

因此,当签出“ gh-pages”分支时,如下所示

git checkout gh-pages

我需要一种方法来指定Git不仅应从“ master”分支中删除(但保存)所有跟踪的文件,而且还应删除所有未跟踪的文件和文件夹(例如“ node_modules”文件夹)。 然后从“ gh-pages”分支加载所有跟踪的文件和文件夹,以及所有未跟踪的文件和文件夹。

有没有一种简单的方法,或者我真的需要为每个结帐删除未跟踪的文件和文件夹,以使两者不会交叉吗?

我有两个分支,一个分支称为“ gh-pages”,另一个分支称为“ master”分支。 两者都有单独的文件夹,例如“ node_modules”,但它们完全不同。 他们是无人追踪的!

因此,当签出“ gh-pages”分支时,如下所示

git checkout gh-pages

我需要一种方法来指定Git不仅应从“ master”分支中删除(但保存)所有跟踪的文件,而且还应删除所有未跟踪的文件和文件夹(例如“ node_modules”文件夹)。 然后从“ gh-pages”分支加载所有跟踪的文件和文件夹,以及所有未跟踪的文件和文件夹。

有没有一种简单的方法,或者我真的需要为每个结帐删除未跟踪的文件和文件夹,以使两者不会交叉吗?

我有一个类似的问题,这也可能是升级package.json中列出的依赖项时的一个问题(另一个分支可能仍然有旧的package.json在这种情况下, node_modules中的模块可能在错误的版本之后切换分支)。

我的一个想法是设置一个本地git checkout挂钩,每次我切换/签出不同的分支或提交时它都会运行npm ci 这需要拥有/使用和跟踪/提交package-lock.json然而,加上(重新)安装在更大的项目上可能会花费太长时间(在这种情况下,您可能想尝试pnpm之类的东西以加快安装速度)。

另一个想法是简单地使用 yarn v2 然后提交所有依赖项/模块(我相信 yarn 在本地存储在它所谓的cache中)。 另外,我可能是错的,但我相信你也可以运行npm ls并且如果node_modules与项目/包清单不匹配它会出错(但是不确定这是否有详细记录,我也不太了解更详细的信息它做什么和不验证)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM