在 Heroku 上拉入经过身份验证的 git 存储库

2024-04-01

我一直在尝试在 Heroku 上引入一些经过身份验证的 git 存储库,但遇到了一些问题。

理想情况下,我希望能够使用令牌解决方案在这里 https://github.com/blog/1270-easier-builds-and-deployments-using-git-over-https-and-oauth git pull https://<token>@github.com/username/bar.git甚至是一个git pull https://username:[email protected] /cdn-cgi/l/email-protection/username/bar.git如果令牌解决方案不可接受,则解决方案是可接受的。

然而,heroku 版本的 git (v1.7.0) 似乎与 https 验证的克隆作斗争:

$ heroku run bash
$ git --version
git version 1.7.0
$ git clone https://username:[email protected] /cdn-cgi/l/email-protection/username/bar.git
Initialized empty Git repository in /app/bevry-website/.git/
error: The requested URL returned error: 401 while accessing https://username:[email protected] /cdn-cgi/l/email-protection/username/bar.git/info/refs
fatal: HTTP request failed

在heroku实例上安装较新版本的git(v1.7.12)并使用它可以正常工作:

$ heroku run bash
$ curl --silent --location http://git-core.googlecode.com/files/git-1.7.12.tar.gz | tar xz; cd git-1.7.12; make NO_TCLTK=YesPlease NO_PERL=YesPlease NO_GETTEXT=YesPlease NO_SVN_TESTS=YesPlease NO_MSGFMT=YesPlease NO_MSGFMT_EXTENDED_OPTIONS=YesPlease prefix=$HOME install; cd ..; rm -Rf git-1.7.12
$ ./bin/git --version
git version 1.7.12
$ ./bin/git clone https://username:[email protected] /cdn-cgi/l/email-protection/username/bar.git
works fine :)

然而,在实例上安装我们自己的 git 版本并不理想,因为编译和安装需要很长时间。

Heroku 似乎不提供任何免费支持,这很不幸,因为我只需要告诉他们升级他们的 git 版本,一切都很好。然而,由于这是不可能的,有没有人对在heroku上进行经过身份验证的https git克隆有任何建议? (我已经通过上传一个特殊的文件来获得经过身份验证的 ssh.ssh目录与存储库,但这对于我们的情况并不理想,因为我们更愿意只使用 https 和令牌)。


如果 git 版本确实是 1.7.0,那么它就太旧了,因为从那时起,http 传输机制已经完成了多次修复。
(如 1.11.7:如果服务器配置为允许匿名 GET,同时需要对 POST 进行身份验证,则使用最新的 Git 推送到智能 HTTP 服务器会失败,而 URL 中没有用户名来强制进行身份验证。)

Plus 1.7.8 引入了一种缓存凭据的方法:

处理 HTTP 事务的用户名/密码的代码用于“git push“&”git fetch” 学会了与外部程序对话“凭证 API”以缓存或存储它们,以允许与平台本机钥匙串机制集成。

您的 ssh 解决方法是一种方法,重新编译 git 另一种方法,但在 Heroku 升级其默认 git 之前,我没有看到另一种方法可以安全地使用 https 对 Heroku git 存储库进行身份验证。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Heroku 上拉入经过身份验证的 git 存储库 的相关文章

  • 如何解决 VSTS 中拉取请求中的合并冲突?

    我已经创建了拉取请求 我进入了这个 批准 按钮不执行任何操作 并且 完成 被禁用 如何解决拉取请求中的冲突 Update 微软刚刚添加了基于浏览器的合并 这可能会让你摆脱小冲突的困境 并提供自 Sprint 150 起改进了不同场景的可视化
  • Git:显示分支之间的差异,忽略合并的提交

    我的存储库历史记录看起来像这样 x y z branch a b c d e master 我想获得 branch 完整历史记录的单个差异 即 像 git diff 输出 我不想要像 git log p 产生的一大堆差异 而不包括任何从 m
  • 有谁知道类似于 SVN Time-Lapse View 的 Git 工具 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 SVN Time Lapse View 是一个跨平台查看器 可以下载文件的所有修订版本 并允许您通过拖
  • Heroku 部署错误

    在 Windows 环境中 尝试部署到 Heroku 时出现以下错误 C Ruby lib ruby gems 1 8 gems heroku 1 9 13 lib heroku commands base rb 32 in 没有这样的文件
  • 无需更改代码即可重新部署 Heroku 应用程序

    我想部署一个 Heroku 应用程序 最好使用git push u heroku master 然而 只有当有任何待处理的提交要推送到 master 时 这才有效 在没有任何内容可推送的情况下如何重新部署应用程序 我试过git push u
  • `git ls-files -s` 输出中不同字段的含义是什么?

    在 Git 中 命令返回的典型结果行git ls files s好像 100755 be2c2e9b0966253096472d4b482c458bc892e493 0 gitignore 这些字段是什么意思 不用再犹豫了git ls fi
  • 第一次使用node.js - “ReferenceError:节点未定义”

    我刚刚安装了node js 我尝试编写应该检查版本的node v 但它不起作用 这是输出 gt node v ReferenceError node is not defined at repl 1 2 at REPLServer self
  • 默认情况下 git merge -Xignore-space-change

    我该如何设置该选项ignore space change对于所有合并使用git config 我也许可以使用别名merge 但因为我希望该设置应用于git stash pop git stash apply git pull and git
  • VS 2015 + Bower:在防火墙后面不起作用

    Problem 在 Visual Studio 2015 中 使用 Bower 我的包在防火墙后面时恢复失败 并出现类似以下内容的错误 ECMDERR 无法执行 git ls remote tags heads git github com
  • 无法从 Sourcetree 拉取 Git 远程存储库

    我生成了 ssh 密钥并配置了我的 git 和 SourceTree 我可以 git pull 并从 Git bash 执行其他操作 注意 我在 bashrc 中添加了以下内容以使其正常工作 eval ssh agent ssh add 然
  • AWS Cloudfront 作为具有自定义域的 Heroku 站点的 CDN

    最近 我从 AWS Route 53 brianpatrickhummel com 购买了一个域来托管个人投资组合 该投资组合网站已启动并正在运行 使用 S3 存储桶和 Cloudfront 作为 CDN 在作品集网站上 访问者可以预览我构
  • 在 Azure DevOps 项目之间移动存储库时保留拉取请求

    我在同一帐户内有两个 Azure DevOps 项目 我想将存储库从一个项目移动到另一个项目 这一页探索如何在具有完全保真历史记录的团队项目之间移动 git 存储库 https learn microsoft com en us azure
  • GIT:以下未跟踪的工作树文件将被签出覆盖

    我有两个分支 一个称为 master 另一个称为 dev 我目前位于 master 分支 我想转到 dev 分支将文件移动到开发服务器 但是当我执行 git checkout dev 我收到消息 以下未跟踪的工作树文件将被覆盖 查看 pag
  • Heroku Rails 应用程序级别不记录日志

    我在 Heroku 上有一个 Rails 应用程序 它没有在应用程序级别进行日志记录 当前版本 红宝石1 9 3 导轨3 1 3 在 config environment development rb 中有以下几行 config logge
  • 当当前分支上有未提交的更改时签出另一个分支

    大多数时候 当我尝试签出另一个现有分支时 如果我在当前分支上有一些未提交的更改 Git 会不允许我这样做 所以我必须首先提交或隐藏这些更改 然而 有时 Git 确实允许我在不提交或存储这些更改的情况下签出另一个分支 并且它会将这些更改携带到
  • 将bitbucket发布到数字海洋

    我本质上是试图使用 bitbucket 来理解 git 的概念 我一直在通过修改本地帐户和 bitbucket 帐户之间的文件来练习版本控制 事实证明这很有帮助 现在我正在尝试弄清楚如何将文件从 bitbucket 或者我猜是 GitHub
  • Git 2.2.x 无缘无故更新旧包文件的时间戳

    Git 2 2 0 和 2 2 1 似乎修改了旧的时间戳 git objects pack pack pack偶尔会无缘无故地文件 它只是改变时间戳 内容是相同的 调试这一点很困难 因为它似乎很少进行更改 我在 2 2 0 之前的任何 Gi
  • 自定义 SSH 端口上的 Git

    我的 VPS 提供商建议我将 SSH 端口保留为他们默认分配的自定义端口号 不是 22 问题是 虽然我知道我可以在创建远程配置时提供端口号 但在进行 Git 克隆时似乎无法提供相同的操作 我在用gitolite https wiki arc
  • Git 更改丢失 - 为什么?

    我们的开发团队正在使用 git 最近我们至少两次丢失了文件更改 我们正在使用私人 Github 存储库 在当前情况下 我们可以返回 Github 上的日志并查看我对文件所做的一些更新 后来 另一位团队成员更改了文件的不同部分 它似乎破坏了我
  • UnicodeDecodeError:部署到 Heroku 时,“utf-8”编解码器无法解码位置 0 中的字节 0xff

    我尝试在heroku上部署我的简单django项目 但我不明白如何解决这个问题 这是git push heroku master remote Traceback most recent call last remote File tmp

随机推荐

  • 在 MVVM Android 中使用共享首选项的最佳实践?

    我一直在寻找在 Android 的 MVVM 架构中使用共享首选项的最佳方法 但我只能找到一些片段 因此没有清晰的图像来以最佳方式做到这一点 因此我有几个问题 我应该在应用程序上保留 SharedPrefs 的单例实例吗 ViewModel
  • 更改 HTML 数据列表自动完成行为

    我正在尝试为我正在开发的网站实现搜索自动完成功能 我正在使用 HTML 数据列表 其中的选项是从后端 MySQL 数据库动态生成的 与 AJAX 通信 但是 数据列表自动完成功能并不像我想要的那样工作 如果关键字不按顺序排列 自动完成功能似
  • 将Admob集成到Android问题

    我正在尝试将 Admob 集成到 android 但最终没有成功 该文档说需要提供 DeviceID 才能获取真实设备的广告 您能帮我解决这个问题吗 但我通过设置 AdManager TestEmulator 在模拟器中获取广告 使用 Ad
  • Common Lisp 中重置状态

    新手 Common Lisp 问题在这里 有没有办法重置环境状态 我的意思是 是否有一些命令可以使 REPL 恢复到启动后的相同状态 即取消所有变量 函数等 或者如果这不在 Common Lisp 标准中 是否有一些扩展在 SBCL 我使用
  • 来自 Yelp API 的错误请求

    灵感来自这个 Yelp 教程 https github com Yelp yelp api blob master v2 python sample py 我创建了一个脚本来搜索给定城市的所有健身房 我调整了脚本这些更新 http www
  • 将可变参数传递给 printf [重复]

    这个问题在这里已经有答案了 我想要一个辅助功能log它主要执行以下操作 log file array has d elements n 10 writes 2014 02 03 16 33 00 array has 10 elements
  • 按名称从数据框中删除列[重复]

    这个问题在这里已经有答案了 可能的重复 从 R 中的 data frame 中删除整列 https stackoverflow com questions 6286313 remove an entire column from a dat
  • 等待异步方法在 for 循环中完成

    我有一个包含三个异步方法的for循环 我想在这3个异步方法完成后进行一些处理 void getAllUsersInformations dispatch async dispatch get global queue DISPATCH QU
  • 从外部访问 while 循环内部的变量(C#)?

    我是 C 新手 我试图从这段时间起达到 MAX 的价值 这样我就可以在外面使用它 但我不能 任何人都有一些想法 提前致谢 while Condition Double MAX somecode Console WriteLine The O
  • 如何识别网站中的慢速设备?

    当为移动设备调整网页时 我总是依赖 CSS 媒体查询 最近我不再只担心屏幕尺寸 还担心许多移动设备的 javascript 引擎 一些依赖于窗口滚动或快速 DOM 转换序列的常见 javascript 效果在慢速设备上效果非常糟糕 有没有办
  • 需要解释为什么 RecyclerView.Adapter.notifyItemChanged(int position, Object Payload) 和我绑定的有效负载参数是对象列表

    RecyclerView Adapter notifyItemChanged intposition Objectpayload 其中payload是将传递给RecyclerView Adapter onBindViewHolder VHh
  • BackgroundWorker - Cancellation Pending 在 RunWorkerCompleted 中更改为 false。为什么?

    取消BackGroundWorker后 在DoWork中 CancellationPending为true 但是当他来到RunWorkerCompleted时 CancellationPending为false 我不知道我做错了什么 sta
  • 在运行时检测字节序有什么好处?

    我搜索了宏来确定机器上的字节顺序 但没有找到任何标准的处理器宏 但很多解决方案在运行时执行此操作 为什么我应该在运行时检测字节序 如果我这样做 ifdef LITTLE ENDIAN inline int swap int x do swa
  • Python Atom API:使用字典时如何设置atom var

    The Atom api https pypi python org pypi atom 0 3 6是Enaml用来实现MVC的库 更改一个原子变量 UI 就会更新 在 UI 中更改它 您的模型就会更新 我想将 Atom var 在本例中为
  • 强制“git status”在终端上输出颜色(在脚本内)

    EDIT 我想提出一个建议 解析颜色通常是一个考虑不周的想法 我想要它的部分原因是我可以解析它并在我自己的脚本输出中传递它 这是 好吧 但使用瓷器或类似的东西并自己重新构建彩色部件可能会更明智 原始问题如下 我喜欢看到颜色 因为我的脚本足够
  • 用文字初始化引用成员变量

    在下面的代码中 我使用文字初始化引用变量 class ABC public const int a ABC a 43 void newfoo printf NEWFOO d a int main ABC obj obj newfoo 该程序
  • ASP .NET CORE 2.2 JWT 和声明网站身份验证

    我有一个 net core 2 2 api 它 在成功登录时 生成一个 JWT 令牌 其中包含一个声明身份 该身份传递经过身份验证的用户的用户名 权限和角色等信息 在我的 net core 2 2 中 Web 应用程序我有一个登录机制 可以
  • 如何将 VSCode 工作区设置应用于所有子文件夹?

    我和我的团队正在一个大型仓库中工作 其中有数十个不同的项目 我们有在 VSCode 中编写文档的设置 我们希望将其应用于所有工作区子文件夹 这样 如果您打开您实际正在处理的项目所在的子文件夹 您将获得与打开 VSCode 相同的体验在根工作
  • IO 错误:网络适配器无法与 Oracle 11gR2 建立连接。与 SQL 开发人员联系

    我已按照 中提到的所有步骤 在 RedHat6 Linux 实例上安装了 Oracle 11ghttp technologylair net 2013 08 oracle 11g installation linux comment 50
  • 在 Heroku 上拉入经过身份验证的 git 存储库

    我一直在尝试在 Heroku 上引入一些经过身份验证的 git 存储库 但遇到了一些问题 理想情况下 我希望能够使用令牌解决方案在这里 https github com blog 1270 easier builds and deploym