通过代码而不是手动进行更改时拉取请求冲突
pull request conflict when making a change by code instead of manually
- OS X 工作站
- Linux 构建机器
- GitHub 企业
在 Jenkins 管道中,以下工作:
- 在package.json中手动更改版本号
- 提交并推送
- 创建从功能分支到开发分支的拉取请求
- Jenkins 签出,运行 测试,npm 发布到开发范围,并合并
- 创建从 develop 分支到 master 分支的拉取请求
- Jenkins 签出、运行 测试和 npm 发布到产品范围
如果我使用 npm version patch
将手动版本操作替换为管道的一部分,并将此版本更改提交回开发分支...
...然后一旦从develop分支创建pull request到master分支,由于冲突无法创建pull request。冲突出现在通过 npm version patch
命令更改的 package.json 中的版本行中。
我很确定它与行尾有关。我不知道如何解决这个问题。
我们应该在决定发布之前手动更改包的版本号,还是自动增加它?显然现在后者将由于上述原因而失败...
一个解决方案是以某种方式保留 "version": "0.0.8",
的行结尾,就像在将其从 .7 更改为 .8 之前一样...
添加具有以下内容的 .gitattributes 文件似乎已解决问题。
*.json text eol=lf
- OS X 工作站
- Linux 构建机器
- GitHub 企业
在 Jenkins 管道中,以下工作:
- 在package.json中手动更改版本号
- 提交并推送
- 创建从功能分支到开发分支的拉取请求
- Jenkins 签出,运行 测试,npm 发布到开发范围,并合并
- 创建从 develop 分支到 master 分支的拉取请求
- Jenkins 签出、运行 测试和 npm 发布到产品范围
如果我使用 npm version patch
将手动版本操作替换为管道的一部分,并将此版本更改提交回开发分支...
...然后一旦从develop分支创建pull request到master分支,由于冲突无法创建pull request。冲突出现在通过 npm version patch
命令更改的 package.json 中的版本行中。
我很确定它与行尾有关。我不知道如何解决这个问题。
我们应该在决定发布之前手动更改包的版本号,还是自动增加它?显然现在后者将由于上述原因而失败...
一个解决方案是以某种方式保留 "version": "0.0.8",
的行结尾,就像在将其从 .7 更改为 .8 之前一样...
添加具有以下内容的 .gitattributes 文件似乎已解决问题。
*.json text eol=lf