git - 我可以连同提交一起发送带外数据吗?

标签 git authentication githooks rtc

我希望将远程 git 存储库与 RTC 服务器集成,方法是使用其 RESTful 接口(interface)将链接附加到 gitweb 以进行与特定任务相关的提交。

理想情况下,这将通过 git 服务器上的接收后 Hook 来完成,但是 git 运行的处理用户不允许用户帐户向 RTC 进行身份验证。

我能想到的最佳解决方案是以某种方式传递身份验证 token (以 cookies.txt 的形式从 RTC 获取)以及 git 推送(但不是提交的一部分)。

另一种方法是在每个客户端存储库上使用推送后 Hook ,但这有其自身的问题(包括没有这样的 Hook )。

最佳答案

对于 git 2.10 及更高版本,您可以使用 git --push-option <string>将给定的字符串值传递给服务器,服务器将它们传递给预接收和后接收 Hook 。 git push documentation .

git push --push-option=...命令行给出的push options个数可以从环境变量GIT_PUSH_OPTION_COUNT中读取,选项本身在GIT_PUSH_OPTION_0,GIT_PUSH_OPTION_1,... 如果是协商不使用推送选项阶段,将不设置环境变量。如果客户端选择使用推送选项,但不传输任何选项,则计数变量将设置为零,GIT_PUSH_OPTION_COUNT=0。 git hook documentation

关于git - 我可以连同提交一起发送带外数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17787125/

相关文章:

linux - 如果我从本地机器推送更改,post-receive 钩子(Hook)无法执行某些命令

git - SubGit:使用 svn.svnCommitMessage 选项

git - "Github for Windows"中的魔法是什么让它在 emacs 中工作?

java - POST 后将应用程序重定向到其他服务器

ruby-on-rails-3 - 无法使用 Capybara 登录到 ActiveAdmin/Devise

git - 自动更新 package.json 版本

git - 是否可以将 git 提交消息保存到预提交 Hook 中的文件中?

来自另一个存储库目录的 Git 子模块

git - 恢复未在 git 中暂存的已删除文件

iOS 登录模式