带有 GIT 工作流的 Package.json - 开发和主分支的独立依赖项

Posted

技术标签:

【中文标题】带有 GIT 工作流的 Package.json - 开发和主分支的独立依赖项【英文标题】:Package.json with GIT Workflow - Separate dependency for develop and master branch 【发布时间】:2020-01-15 17:26:53 【问题描述】:

我正在使用 GIT 工作流(开发、主控、功能、发布)分支进行软件开发。现在,我们的软件在 package.json 中几乎没有内部依赖包,直接来自特定分支上的企业 GIT(例如 git+ssh://git@ourdomain.com:2999/coredependency.git#develop)。

现在,我们当前的 develop 分支代码指向 QA 依赖包的 develop 分支(如上所示),原因是,当前 QA 中的更改可能会更改依赖包的工作和一旦通过 QA,我们将依赖包代码从它们的 develop 合并到 master 并更新我们的 package.json(在发布分支中)以指向这些依赖项的 master 分支。

现在根据工作流程,部署后,我们将发布分支合并到master和develop,问题是,我不希望package.json指向master(在发布分支中)被合并到develop 分支,但只在 master 带有标签的分支中。

一瞥我的 Package.json

"dependencies": 
    "core": "git+ssh://git@ourdomain.com:2999/coredependency#master",
    "intelligence": "git+ssh://git@ourdomain.com:2999/dependency2.git#feature/jk-1212",
    "notifications": "git+ssh://git@ourdomain.com:2999/dependency3.git#master",
    "social": "git+ssh://git@git.ccmteam.com:2999/cdependency4#develop",
    "gulp-cli": "2.0.1",

我可以做些什么来避免这种情况?当我们使用 Pull Requests 合并我们的代码时

【问题讨论】:

【参考方案1】:

一种解决方法是:

将开发推送到您的正常远程来源 像往常一样合并回开发(可能会更改 package.json) 使用the node-version-match package 将develop package.json 版本重置回您刚刚在合并之前推送的版本。

另一种方法是:如果 package.json 在合并后发生了变化,则做

git checkout @~ -- package.json

【讨论】:

以上是关于带有 GIT 工作流的 Package.json - 开发和主分支的独立依赖项的主要内容,如果未能解决你的问题,请参考以下文章

在 VSTS 中使用 git tag 或 package.json 版本作为 Release 名称

使用 Git 管理 package.json 和 package-lock.json

如何在 package.json 文件中添加 git repo

使用 Git 和 Yarn Package.json 脚本

npm 错误!尝试安装 package.json 时 git dep 准备失败

优化前端工作流:一、使用husky对commit日志校验