当前位置:  开发笔记 > 开发工具 > 正文

如何将GitHub wiki集成到主项目中

如何解决《如何将GitHubwiki集成到主项目中》经验,为你挑选了2个好方法。

我想将所有源代码和文档保存在一个git存储库中.我已经将github页面集成到我的主项目中,现在我想对github wiki做同样的事情.

我知道github wiki是普通的git存储库.我的计划是将维基作为远程控制添加到我的主仓库并将所有内容保存在一个地方.但是在wiki repo中,一切都在根目录中,因此会混乱我的主项目.

有人曾尝试过这个吗?处理这个问题的最佳方法是什么?



1> shelhamer..:

您想要将wiki添加为子模块.相同的Wiki git repo作为远程连接,但在具有自己的.git目录的子目录中.

git submodule add git://github.com/you/proj.wiki

在主repo的根目录中,将wiki repo添加为wiki/dir中的子模块.


现在它实际上是`git:// github.com/you/proj.wiki`
这是否允许您在Wiki中进行的更改在图表标签中可见?

2> anarcat..:

我发现这一切都非常繁琐 - 在我看来,github wikis应该是主存储库的分支,或者至少应该可以做出选择.

不过,我认为最好的解决办法是简单地移动维基到主存储库,过问docs/或者wiki,使用子树合并.例如,假设您的存储库是you/proj,您的wiki将位于:git://github.com/you/proj.wiki.然后将其合并到主仓库中,您将执行以下操作:

git clone git://github.com/you/proj
cd proj
git remote add -f wiki git://github.com/you/proj.wiki
git merge -s ours --no-commit --allow-unrelated wiki/master
git read-tree --prefix=wiki/ -u wiki/master
git commit -m "Github wiki subtree merged in wiki/"

你甚至可以让维基工作在一边欢迎那里的公众贡献,但随后在你认为合适的情况下将它们放入你的主文档中.要在审核后合并新的更改,您可以:

git pull -s subtree wiki master

不幸的是,合并更改另一种方式有点棘手,无论如何,你应该做一次性的事情,然后关闭维基,或重定向到回购源...

此外,这种方法的一个主要警告是git log wiki/Home.md(例如)实际上并未显示维基页面的历史记录.历史在那里,但不知何故git-log无法追踪它.这是与git子树相关的已知限制.解决这个问题的另一个解决方案是进行filter-branch一次定期合并,以保持历史.

对我来说,将wiki作为主源代码树的一部分的主要优点是可以跨代码和文档协调拉取请求和更改.使用您的代码发送文档,而不是假设人们只是在线阅读它,这也简单易行...

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有