所以我有一个带有wiki的Github项目,用于维护文档。每当项目中的某些内容发生变化或被添加到项目中时(通常是血腥的),我会立即在维基中将其记录下来,这有助于记录所有内容。
同时,大多数用户只能获得并使用定期二进制更新,因此需要在特定时间点访问wiki的状态。我知道wiki也是一个git存储库,但它显然与主项目存储库完全分开。
我也知道可以将wiki存储库集成为子模块(虽然我不能说我理解这些是如何工作的,因为我没有真正的命令行git经验)但是本身并没有回答我的问题,我以这种方式表达:
我需要做些什么来制作一个我可以发布给用户的URL,以便将它们引导到工作的wiki,反映它在最新二进制版本发布时的状态?
答案 0 :(得分:0)
我也知道可以将wiki存储库集成为一个子模块(虽然我不能说我理解这些是如何工作的,因为我没有真正的命令行git经验),但这本身并不能解决我的问题问题
它实际上可以回答这个问题,因为子模块会记录维基的确切SHA1(registered as a submodule)
cd /yourRepo
git submodule add -b master https://github.com/you/proj.wiki
git submodule update --init
每次修改项目时,您都可以:
当您的用户获得该回购时,一个简单的git ls-tree master:<path-to-directory-containing-submodule>
可以为他们提供该Wiki的SHA1。
请注意,除非这些用户要创建:
git submodule update --init
但如果只想要SHA1,为了在https://github.com/you/proj.wiki/commit/<SHA1>
访问wiki,git ls-tree
就足够了(他们不需要用任何内容填充子模块)。
现在,如果子模块方法看起来太麻烦,您可以更简单地在本地仓库中设置预提交挂钩,这将:
https://github.com/you/proj.wiki/commit/<SHA1>
)这样,您的用户就会查看该文件,以便以正确的版本获取Wiki。