git - 如何通过 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 请求)。
解决方案
推荐阅读
- javascript - Strapi 自定义身份验证控制器
- javascript - 如何在本地存储中添加多个对象而不是覆盖它
- node.js - SyntaxError:意外的令牌“返回”
- c++ - 以 CSV 格式写入 Eigen VectorXd
- javascript - jQuery 获取 .active 元素的索引,但参考其原始兄弟元素
- c - 双指针有问题
- python - 为什么 request.GET.get() 返回 'None' 并且 html 元素的值在 URL 中不可见
- ios - 无法安装“[AppName]”Xcode 11.5、iOS 13.5
- javascript - 如何在Javascript中的函数表达式中给出参数?
- asp.net - 在 ASP.NET Blazor Web Assembly 客户端应用程序中使用 Auth0 注销后的登录提示