首页 > 解决方案 > 如何通过 Git bash 发送文件内容以更新现有的 Github Gist?

问题描述

我正在尝试通过 Git bash 远程更新现有的 Github gist,如果不手动声明命令内部的内容,我找不到上传文件内容的方法。

我的目标是获取我在 PC 上的文件,并上传其内容以更新预先存在的 Gist(后文中提到的 Gist ID)。

这是一个示例 Gist ID,希望对您有所帮助:'c7alSToGZjxiMveTa2e6bzVvXJRqS09D'。为了便于讨论,我尝试上传的文件的确切名称是“testingFile.txt”,位于文件路径“C:\Users\username\Desktop”,Gist 文件显示名称为“monkey” 。文本'。

如何使“curl PATCH”命令能够执行这样的上传/更新过程?我尝试了以下代码curl -d '{"files":{"monkey.txt":{"content":"$chung"}}}' -u username:accessToken -X PATCH https://api.github.com/gists/{gist_id},其中$chung设置等于“testingFile.txt”的文件内容。这个确切的代码最终只会将文本“$chung”上传到 gist,而不是变量的实际内容(在这个例子中,是["WelcomeToTheJungle", "AmazonRainforest", "Brazil"]。欢迎任何关于如何做到这一点的建议,干杯!

编辑: Github 的 API 是 - https://docs.github.com/en/rest/reference/gists#update-a-gist

标签: git

解决方案


尝试这个:

curl -d '{"files":{"monkey.txt":{"content": '"$chung"'}}}' -u username:accessToken -X PATCH https://api.github.com/gists/{gist_id}

作为对我的评论的跟进,我有一个解决方案,您可以这样做'literal'"$variable"'literal'在字符串中包含变量,或者只是用双引号替换所有单引号,那么$chung不会是文字。

参考:


推荐阅读