gpt4 book ai didi

git - 在 heroku 上引入经过身份验证的 git repos

转载 作者:太空狗 更新时间:2023-10-29 13:21:07 25 4
gpt4 key购买 nike

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

理想情况下,我希望能够使用 token solution here git pull https://<token>@github.com/username/bar.git甚至是 git pull https://username:password@github.com/username/bar.git如果 token 解决方案 Not Acceptable ,则解决方案是可以接受的。

但是,似乎 heroku 版本的 git (v1.7.0) 与经过 https 身份验证的克隆斗争:

$ heroku run bash
$ git --version
git version 1.7.0
$ git clone https://username:password@github.com/username/bar.git
Initialized empty Git repository in /app/bevry-website/.git/
error: The requested URL returned error: 401 while accessing https://username:password@github.com/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:password@github.com/username/bar.git
works fine :)

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

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

最佳答案

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

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

The code to handle username/password for HTTP transactions used in "git push" & "git fetch" learned to talk "credential API" to external programs to cache or store them, to allow integration with platform native keychain mechanisms.

您的 ssh 解决方法是一种方法,重新编译 git 是另一种方法,但是在 heroku 升级其默认 git 之前,我看不到另一种使用 https 安全验证 Heroku git repos 的方法。

关于git - 在 heroku 上引入经过身份验证的 git repos,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12964196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com