首页 > 解决方案 > 如何通过 curl 将提交推送到 git 存储库?

问题描述

我知道如何使用git命令将文件添加到 git 存储库。但是我正在尝试重新发明轮子,并且我想将文件添加到仅curl用于连接到服务器的 git 存储库中。到目前为止,我所做的是创建一个虚拟存储库,Wireshark 推送请求,并复制数据。这给了我一个pack可以发送到服务器的文件。但是当我跑步时

curl <my server>/git-receive-pack -H "Content-Type: application/x-git-receive-pack-request" -d "@raw_pack"

什么都没发生。没有创建文件。(raw_pack包含来自 Wireshark 的数据包的全部数据)。我在运行它之前删除了该文件,因此它 100% 不存在。我阅读了有关 Git http 协议和打包协议的全部技术文档,但我仍然无法弄清楚这一点。如何仅使用 curl 将提交推送到 git 存储库?(理想情况下只有 POST 请求)。

标签: githttpcurl

解决方案


推荐阅读