如何远程编辑/创建GitHub仓库的Wiki?

3
我正在使用c#编写一个应用程序,它提供了一个表单供开发人员填写。该应用程序接收关于代码库(repos)的信息,然后将其放入维基模板中。一旦我格式化并保存到.md文件中,我想将其推送到代码库。我刚刚完成了将几百个代码库从SVN转换为企业版GitHub,但它们都没有维基页面。我希望为开发人员提供一个简单的方式来概述代码和代码来源,而不需要他们进行格式化等操作。我已经知道了“gitaccess”和Ruby API。然而,这些都需要在推送维基页面之前完全克隆代码库。我不希望这样。非常感谢您的帮助。谢谢。
3个回答

2

这并不完全是一个答案,但仍然相关。您可以使用批处理文件来编写推送命令脚本,然后使用git内置的gitcredentials来处理用户名和密码提示,这应该允许您编写整个推送wiki页面的过程。有关更多详细信息,请参见https://www.kernel.org/pub/software/scm/git/docs/gitcredentials.html


谢谢,这是正确的方向。我计划从程序中执行批处理,但我真的需要避免让用户下载200个存储库到他们的电脑上才能对它们进行文档记录。 - Mitch Connor

0

您可以在存储库内的顶部操作栏中使用Wiki链接。在Wiki区域内,您可以通过单击“新建页面”按钮直接从Web创建所需的页面。在Web页面上还有编辑和预览按钮,供您在保存Wiki文档之前查看。

此外,我没有意识到您正在尝试编写脚本进行更改。Wiki存在于与代码存储库平行但独立的存储库中,您不必克隆代码存储库即可获取Wiki存储库(尽管您需要克隆Wiki存储库)。您可以使用xyz.wiki.git访问xyz.git存储库的wiki。在Wiki页面上(您已经知道),当然,您可以通过单击顶部的Git Access按钮获取URL。

如果您真的无法克隆Wiki存储库,则Git仅提供4种协议,如Git文档所指定。这是一篇关于8种共享git存储库的方法的博客文章,可能会给您一些关于实现您想要做的事情的线索。


我知道如何在GitHub界面内手动创建维基。我想远程完成它。 - Mitch Connor

0
截至2023年3月,GitHub官方并不支持通过编程方式在其平台上创建维基(git)存储库。
GitHub官方的REST API(版本:2022-11-28)支持创建存储库。但是,如果您尝试为某个代码存储库创建一个名为“REPOSITORY_NAME”的“维基”(即,您想要创建名为“REPOSITORY_NAME.wiki”的git存储库),则会遇到类似以下错误的问题:
{
  "message": "Repository creation failed.",
  "errors": [
    {
      "resource": "Repository",
      "code": "custom",
      "field": "name",
      "message": "name cannot end in .wiki"
    }
  ],
  "documentation_url": "https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user"
}
gh: Repository creation failed. (HTTP 422)

据我所知,你唯一的机会是使用GitHub网站上未记录的调用来创建维基存储库:

  • 在您的浏览器中,如果要手动创建维基,您将看到这是对URL模式为https://github.com/YOUR_USERNAME/REPOSITORY_NAME/wiki/_newGET方法的调用。这将重定向您到一个名为“创建新页面”的新站点。
  • 检查按钮Save page(id:gollum-editor-submit)会向您显示创建维基git存储库的底层例程是一个POST方法,其模式为https://github.com/YOUR_USERNAME/REPOSITORY_NAME/wiki(Web HTML包括一个名为authenticity_token的隐藏输入;再次强调,这并未记录下来,可能会更改)。使用正确的输入(我猜还需要一些必要的标头),调用此方法将创建您想要的新git存储库。
  • 最后,要从头开始推送您的git存储库,您需要强制执行:git push -f origin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接