2012-07-31 57 views
3

我想在开发代码的同时为我的项目管理GitHub wiki。例如:由主版本库管理的GitHub wiki

分行

  • 主(稳定版)
    • 发展(下一个版本的开发)
    • 其他...(其它可能的开发/功能分支)

理想情况下,我希望wiki包含在子文件夹中(例如/ wiki)。然后,当我对代码进行更改时,我也可以同时更新wiki(代码+文档更改)。这也意味着我所有的开发代码和文档都将在“开发”分支中独立,直到我与“主”分支合并为止。希望即使通过手动过程,GitHub wiki也会在与主服务器合并后进行更新,以反映更改。

我已经看过Git的子模块功能,但从我所了解的通常指向单个修订版。我想以某种方式遵循我的代码开发,所以分支和合并将正常工作。

+0

有没有得到它的工作?我有一个[类似的问题](http://stackoverflow.com/q/17021163/819272)与BitBucket。我担心,所有带有wiki子目录的解决方案最终都是注定要失败的。应该修正的是,GitHub/BitBucket Wiki是指向主要回购库的特定提交的指针,而不是单独的回购站。 – TemplateRex 2013-06-10 11:37:45

+0

从来没有得到这个工作,并转移到其他东西,因为不需要进一步调查。有一次,我使用脚本在构建我的项目时将我的wiki更改部署到github,这表明我不必担心分支和子模块等等。 – 2013-07-05 09:34:34

回答

1

如“True nature of submodules”中所述,您可以在子模块内进行修改和更新,只要您还提交父回购以记录“wiki”子回购的新状态。

+0

谢谢,这说明它比我发现的其他信息。它如何处理分支/合并?我可以在存储库的“开发”分支中拥有wiki的“开发”分支,然后轻松应对合并以掌握? – 2012-08-01 19:43:54

+0

@MisterDai每个回购(父回购和子回购(s)回购)都有自己的一套分支,独立于一个回购到另一个回购。您可以随时在子模块中更改分支,前提是您花时间回到父回购并提交,以便记录子模块的新状态。 – VonC 2012-08-01 21:45:53

1

如果您打算在本地机器上使用Gollum来显示和处理您的GitHub wiki(您可能应该),那么如果使用子模块,则会遇到麻烦。

Gollum希望对本地Git存储库(但不推送)进行本地提交,但在子模块中.git实际上是包含本地存储库的文件,而不是真正的Git存储库。这会导致Gollum破裂。

子模块也有问题,版本不耦合到父存储库,并且它们不完全分离。每次更改文档时,让源代码库希望推送新的wiki版本号(但不包括Wiki内容)是一件令人讨厌的事情。

我使用的解决方案仅仅是将wiki库克隆到主项目目录内的一个目录中,并将其添加到.gitignore。通过使用跨项目目录的一致名称(例如github-wiki),可以最大限度地降低维基不会在.gitignore并偶然上载到主存储库的机会。

为了保持一致性,他的方法也适用于GitHub页面,虽然它没有必要,因为他们没有经历Gollum的问题。