带有 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