Git-维护不同的作曲家/ npm插件版本

时间:2018-11-16 15:57:53

标签: git npm composer-php

最近我升级了一些插件(最重要的是Laravel及其依赖项)。
之后,我遇到了一些问题,想切换回我的稳定分支。
我很快意识到自己的错误-忽略了供应商和npm目录,因此切换分支毫无用处。
这让我想知道是否有个好方法可以切换回旧版本的npm / composer插件,就像我们要切换分支而没有忽略目录一样?
显然,我完全可以重新安装所有内容,但这似乎很不经济且耗时。另外,我依赖于移动互联网连接atm,因此每个比特都很重要,我想防止任何不必要的下载。

2 个答案:

答案 0 :(得分:2)

  

这让我想知道是否有个好方法可以切换回旧版本的npm / composer插件,就像我们在不忽略目录的情况下切换分支一样?

您可以使用git worktree而不是在单个文件夹上工作

git worktree

worktree允许您在个不同的文件夹中拥有同一存储库的多个实例

git worktree add <second path>

将在您的计算机上创建另一个文件夹,该文件夹允许您同时在不同的分支上工作,您可以在其中安装npm,而无需删除/切换到其他分支。

enter image description here

git worktree将创建一个新的工作文件夹,使我们可以同时在多个分支上工作。每个副本将指向原始存储库,而3-states是一个新的副本。这省去了使用git stash甚至克隆新存储库的需要,因为那些工作树共享相同的仓库,我们可以检出任何工作树上的任何分支,我们可以进行选择或合并,所有操作都将在本地完成在我们的机器上。

这将使您可以在新工作树上进行任何实验,而不会影响存储库本身。
在所附的图像中,您可以看到有 2个单独的工作文件夹,但是它们都使用单个仓库并共享内容。

enter image description here

答案 1 :(得分:0)

使用NPM,您可以通过在包名称后附加@来安装特定版本,例如npm install lodash@4.17.4

Composer具有类似的内容:composer require vendor/package:version

这可能只允许您安装恢复工作状态所需的东西。