最近我升级了一些插件(最重要的是Laravel及其依赖项)。
之后,我遇到了一些问题,想切换回我的稳定分支。
我很快意识到自己的错误-忽略了供应商和npm目录,因此切换分支毫无用处。
这让我想知道是否有个好方法可以切换回旧版本的npm / composer插件,就像我们要切换分支而没有忽略目录一样?
显然,我完全可以重新安装所有内容,但这似乎很不经济且耗时。另外,我依赖于移动互联网连接atm,因此每个比特都很重要,我想防止任何不必要的下载。
答案 0 :(得分:2)
这让我想知道是否有个好方法可以切换回旧版本的npm / composer插件,就像我们在不忽略目录的情况下切换分支一样?
您可以使用git worktree
而不是在单个文件夹上工作
git worktree
worktree
允许您在个不同的文件夹中拥有同一存储库的多个实例。
git worktree add <second path>
将在您的计算机上创建另一个文件夹,该文件夹允许您同时在不同的分支上工作,您可以在其中安装npm,而无需删除/切换到其他分支。
git worktree
将创建一个新的工作文件夹,使我们可以同时在多个分支上工作。每个副本将指向原始存储库,而3-states
是一个新的副本。这省去了使用git stash
甚至克隆新存储库的需要,因为那些工作树共享相同的仓库,我们可以检出任何工作树上的任何分支,我们可以进行选择或合并,所有操作都将在本地完成在我们的机器上。
这将使您可以在新工作树上进行任何实验,而不会影响存储库本身。
在所附的图像中,您可以看到有 2个单独的工作文件夹,但是它们都使用单个仓库并共享内容。
答案 1 :(得分:0)
使用NPM,您可以通过在包名称后附加@来安装特定版本,例如npm install lodash@4.17.4
Composer具有类似的内容:composer require vendor/package:version
这可能只允许您安装恢复工作状态所需的东西。