我有两个repos X和Y.Y在其package.json中引用X来使用一些模块。 X和Y具有主分支,并且都部署到公共npm-registery(我们称之为2.0.0版本)。因此repo Y在其package.json中引用了X 2.0.0。一直都很好。
现在,问题 -
我在两个repos中创建了一个新分支(让我们称之为bX和bY)。这两个分支尚未准备好合并到其相应分支的主服务器。因此我不能仅使用bX更改发布新版本的X.或者我可以吗?
但是我想使用我在bX中所做的更改来在bY中使用。
当我用Google搜索时,我发现我可以在Y的package.json中提供回购X的网址,如下所示 - https://github.com/url-to-repo/X.git#bX 当我在本地系统中工作正常用npm构建。但是当我将它与jenkins构建用于测试环境时,它会因以下错误而失败 -
请求的URL在访问时返回错误:403 https://github.com/url-to-repo/X.git/info/refs
这个问题似乎与以下内容有关 -
请升级您的git客户端。 GitHub.com不再支持git了 哑HTTP: https://github.com/blog/809-git-dumb-http-transport-to-be-turned-off-in-90-days
我登录了Jenkins服务器并且git版本有1.7.2.5(在GitHub中,转储http支持已被撤销,但除非你在v1.6.6之前运行git版本并使用a获取,否则这不会对你产生影响http远程URL - 来自github docs)
所以我不明白这里出了什么问题。以前有人遇到过这个问题吗?
答案 0 :(得分:1)
解决方案可能是使用SSH网址而不是https网址。
所以,而不是
https://github.com/user/repo.git
你将
git@github.com:user/repo.git
如果您未在计算机上设置SSH密钥,请here is how to do it。