- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
有没有办法以编程方式(使用 PyGithub
、GitPython
或 dulwich
) 将任何文件直接加载到 MyRepo.wiki.git
存储库中?当然是使用 Python。
在 PyGithub
的帮助下,我可以轻松地将文件直接上传到 MyRepo.git
存储库,但不幸的是,这个库没有使用 MyRepo.wiki.git
存储库的 API 或方法。
以下是我如何将文件上传到 MyRepo.git
存储库:
github_repo = github_account.get_user().get_repo('MyRepo')
head_ref = gh_repo.get_git_ref("heads/%s" % github_branch)
latest_commit = gh_repo.get_git_commit(head_ref.object.sha)
base_tree = latest_commit.tree
new_tree = gh_repo.create_git_tree(
[github.InputGitTreeElement(
path="test.txt",
mode='100755' if github_executable else '100644',
type='blob',
content="test"
)],
base_tree)
new_commit = gh_repo.create_git_commit(
message="test commit message",
parents=[latest_commit],
tree=new_tree)
head_ref.edit(sha=new_commit.sha, force=False)
那么,如何我可以做相同但使用 MyRepo.wiki.git
存储库?如果您可以提供一个使用 PyGithub 库的示例 - 那就太棒了。
附言我可以使用 Gollum API 执行此操作吗?
附言没有人使用任何类型的 python 库处理 *.wiki.git
吗?我不相信:(
P.P.P.S.如果我不够清楚:我不想以任何方式创建本地存储库。我只想即时修改 repo 结构——就像我的例子所做的那样。但是有 *.wiki.git 存储库。
谢谢!
最佳答案
您无法通过 PyGithub 独家使用的 github web API 访问 github wiki。但是您可以将 GitPython 指向 wiki 的 git URL。之后,您可以像访问任何其他存储库一样访问此 git 存储库中的文件。
已编辑
正如您所指出的,您限制自己不要创建我推荐的 git 存储库的本地克隆:
阅读https://github.com/github/gollum/blob/master/lib/gollum/frontend/app.rb中的代码它定义了可能所有的外部 HTTP 接口(interface)。
不存在用于 Python 的很好的包装器。但是当你确实(部分地)制作一个时,我建议使用这里提到的 REST 客户端库:https://stackoverflow.com/questions/2176561/which-is-the-best-python-library-to-make-rest-request-like-put-get-delete-pos
如果您现在认为您的限制可以更改:
documentation提供了一个很好的教程,涵盖了一点 git 知识所需的一切。归结为:
import git
repo = git.Repo.clone_from("git@github.com:user/project.wiki.git", "some-path")
repo.index.add(["your-new-file"])
repo.index.commit("your message to the world")
repo.remotes.origin.push()
关于python - 使用 Python 处理 GitHub Wiki 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14587632/
我在父项目 A 的子项目 B 中有几个 wiki 页面。现在我想将它们从 B 的 wiki 移动到 A 的 wiki。如何在不复制和粘贴所有页面的情况下执行此操作? Redmine论坛的人建议直接编辑
如果两个用户编辑同一个 wiki 主题,wiki(或类似的协作编辑软件)中使用了什么方法将第二个用户的编辑与第一个用户的编辑合并? 我想要一个解决方案: 不需要锁定 不会丢失对页面的任何添加。 它可能
关闭。这个问题需要更多 focused .它目前不接受答案。 想改进这个问题?更新问题,使其仅关注一个问题 editing this post . 8年前关闭。 Improve this questi
我们正在向许多地方的许多用户(8 个国家/地区的 200 多个用户)部署新的软件系统。过去,我们为用户编写了手册,然后经常更新。这很好用,因为所有用户都有相同的手册,它涵盖了主要内容,但也有问题,比如
这张 table 是什么样子的——只有一张吗?你如何恢复到旧版本?类似于堆栈溢出的工作方式。 最佳答案 解决此问题的最佳方法是查看其他软件,例如 MediaWiki,并了解它们如何构建数据库。然后,您
我正在尝试使用 Redmine wiki,但我很难弄清楚如何使文本看起来不那么大。这是我正在做的标记示例。关于如何使文本看起来不那么大的任何建议。 h1. Best Practices
在Redmine Wiki中,有什么方法可以在标题中使用项目符号点编号,例如 # h1. Heading 1 ## h2. Sub Heading 1 # h1. Heading 2 输出如下
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 4年前关闭。 Improve t
目前我们团队正在使用MoinMoin作为 IT wiki,它非常好。 我们希望促进最终用户使用 wiki,因为他们中的一些人对此感兴趣。例如,我们将在 wiki 上共享和编辑应用程序的要求。 我认为
我的公司将使用Confluence在我们的IT系统上存储和共享我们的知识库,并且可以用于涵盖从硬件管理到程序员所面临的问题的主题。 我对建立全局空间的最佳做法感到好奇。为整个IT部门拥有一个大型的,万
对于我正在开发的应用程序 (*),我需要混合使用动态生成的页面和静态页面。使用 wiki 会很酷,一旦动态页面被第一次访问,它就会变成静态页面,用户可以像任何其他静态 wiki 页面一样对其进行注释。
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 11 年前。 Improve thi
您在公司中使用 wiki 吗?谁使用它以及为什么使用它。您是否在项目/团队/部门之间共享信息? 最佳答案 我们用我们的来存储 编码风格文档 网络服务器和网站的设置和部署程序 网络图(Dev、Stagi
我在 Trac wiki 中创建了一些文档。我将这些页面设置为都以相同的模式开始(例如“MyDoc ...”)。我想从 Trac 中检索以该模式开头的页面的所有 wiki 页面链接。 有办法吗? 最佳
我和我的 friend 正在考虑创建我们自己的 wiki。鉴于它们最近变得如此普遍,我们听说这并不难。我们希望网站尽可能简单——我们在网页设计方面有一些经验,但在系统管理方面没有很多经验。 futur
我的服务器上运行着一个 Gitlab CE 11.7 docker。当我从 gitlab.com 导入一个项目时,它的 wiki 丢失了。我使用内置界面导入项目: 新建项目 > 导入项目 [tab]
我在我的 Wiki 中构建了一个非常广泛的表格,在列结构方面具有以下格式。是否可以在 Wiki 中插入一个计数器来跟踪此表中的列数? |- | 1||[Site Link]||Country 1|
我的 Confluence wiki 中有一个页面,它是通过脚本自动生成的,并通过其 API 被推送到 Confluence 中。因此我不需要这个页面的历史,因为页面版本的数量会很快增加。 有没有办法
是否可以在类似于 cloak macro 的 trac wiki 中显示和隐藏内容块?汇合的? 最佳答案 它已经几个月大了,但我想知道同样的事情。 Remy Blank 的回答让我走上了正轨,他只是错
我想将 100 多个 RTF 文件转换为 Wiki 标记,但我只能在网络上甚至在 StackOverflow 上找到“Wiki to RTF”转换器。 我只需要 RTF --> Wiki 标记 外面有
我是一名优秀的程序员,十分优秀!