如何在GitHub上请求维基页面?

时间:2012-05-17 20:19:56

标签: git github wiki

我在GitHub上看到一个未打开进行编辑的维基页面。然后我分叉项目,在“我的结束”上编辑它并尝试做拉动请求。事实证明, wiki 不在项目中,并且没有办法提交更改。

除了电子邮件之外,如果我想在这种情况下建议修改wiki,还有办法继续吗?

此时我在“有类似标题的问题”下找到了seems like an alternative,但是我还没有用它做拉取请求,所以我不确定子模块是好的为此目的的方式。我现在看到我可能会以某种方式分支它......所以这是要走的路吗?

5 个答案:

答案 0 :(得分:100)

GitHub doesn't support pull requests for the wiki repository,只有主存储库(这有点遗憾,IMO,但我能理解它。)

这是一个有趣的方式,一个项目管理社区更新到他们的wiki,同时仍然保持严密控制,如源代码:

  

我建议的工作流程如下:

     
      
  1. 在您的Github帐户上手动创建Taffy wiki的分支:      
        
    • 在您的github帐户上创建一个新存储库。我们称之为“Taffy-Wiki”。
    •   
    • 将Taffy wiki repo克隆到您的本地计算机上:git clone git@github.com:atuttle/Taffy.wiki.git
    •   
    • 删除原始“origin”遥控器并将您的github repo添加为新的“origin”git remote rm origingit remote add origin git@github.com:<YOUR_USERNAME>/Taffy-Wiki.git
    •   
  2.   
  3. 在本地进行您的建议更改,然后将它们推送到您的github帐户:git push -u origin master('-u origin master'仅在第一次需要;之后只需执行git push
  4.   
  5. 向官方Taffy问题跟踪器提交一张票,要求我审核您的更改并将其合并。请确保包含指向您的回购的链接并说明您已更改的内容。
  6.   
  7. 转到#2
  8.   

(来自 How you can contribute to Taffy documentation 。)

如果是我,我会在主存储库(也就是你分叉的那个)中创建一个问题,建议对wiki进行更新。如果未启用问题,请发送电子邮件,告知我能想到的唯一其他选项。

答案 1 :(得分:1)

我采取了另一种方法,即将完全相同的内容推送到主存储库和Wiki中。这并不是每个人的口味,但是Risk-First主要是一个Wiki,在主存储库中有几个Jekyll页面。

这意味着拉取请求/分叉过程工作正常。但是,在合并请求请求后,我必须执行额外的步骤,即先提取到本地存储库,然后再推送到主存储库和Wiki,而git支持多种原始URL:

localhost:website robmoffat$ git remote show origin
* remote origin
  Fetch URL: git@github.com:risk-first/website.git
  Push  URL: git@github.com:risk-first/website.wiki.git
  Push  URL: git@github.com:risk-first/website.git
  HEAD branch: master

为了实现这一点,我在以下两个仓库中合并了提交:

How do you merge two Git repositories?

然后像这样推送到两个存储库:

Git - Pushing code to two remotes

希望这对某人有帮助。

答案 2 :(得分:0)

如果您可以使用单页长文档(我实际上更喜欢它),您可以劫持README.MD并将wiki的内容放在那里。

它不仅会被作为普通存储库的一部分进行跟踪,还会显示在主页上。

可以从快速参考开始,然后进入更详细的描述/说明,以便普通用户首先获得更通用的信息。

答案 3 :(得分:0)

您不能发出请求请求,但可以打开一个问题,将链接粘贴到您的Wiki页面,然后让它们在您的Wiki页面中合并到其Wiki页面。

简而言之:

他们只需要克隆您的Wiki页面存储库(git clone YOUR_FORKED_REPO.wiki.git),将您所有的Wiki提交压缩为一个大提交,然后将该大压缩后的提交樱桃挑选到他们的存储库中。这样会将您所有的Wiki更改都带入其Wiki。

完整说明:

(摘自Larry Botha的github要点:https://gist.github.com/larrybotha/10650410):

  

----------从上面的GITHUB GIST开始复制粘贴------------

从分叉的Github存储库合并Wiki更改

这是受罗曼·伊万诺夫(Roman Ivanov)的启发,(或基本上是从How To Merge Github Wiki Changes From One Repository To Another复制而来的),目的是确保如果原始文章出了什么问题,这里的信息仍然很安全。

术语

OREPO :原始回购-所有者创建或维护的回购

FREPO :可能是已对其Wiki进行更新的分叉存储库,尚未在 OREPO

上显示

贡献

如果您想为您所创建的仓库的wiki做出贡献,请执行以下操作:

  • 分叉仓库
  • 仅将Wiki复制到您的计算机: $ g clone [FREPO].wiki.git
  • 更改本地分叉的Wiki存储库
  • 将更改推送到GitHub

一旦准备好让作者知道您有更改,请执行以下操作:

  • OREPO
  • 上打开问题
  • 提供指向Wiki的git repo的直接链接,以便于合并: 即[ FREPO ]。wiki.git

合并更改

作为 OREPO 的所有者,您现在已经收到一条消息,告知您其他人的 FREPO 上的Wiki有更新。

如果从最新的 OREPO Wiki派生了Wiki更改,则可以执行以下操作:

$ git clone [OREPO].wiki.git
$ cd [OREPO].wiki.git

# squashing all FREPO changes
$ git pull [FREPO].wiki.git master

$ git push origin master

如果 OREPO Wiki领先于 FREPO 的分支站点,请执行以下操作:

$ git clone [OREPO].wiki.git
$ cd [OREPO].wiki.git
$ git fetch [FREPO] master:[FREPO-branch]
$ git checkout [FREPO-branch]

#checkout to last OREPO commit
$ git reset --hard [last-OREPO-commit-hash]

# do massive squash of all FREPO changes
$ git merge --squash HEAD@{1}
$ git commit -m "Wiki update from FREPO - [description]"
$ git checkout master

# cherry-pick newly squashed commit
$ git cherry-pick [OREPO-newly-squashed-commit]
$ git push
  

----------上面的GITHUB GIST的复制粘贴结束------------

答案 4 :(得分:0)

到目前为止,我们已经在https://devonfw.com中找到了解决该问题的最佳方法:

  1. 将文档以及文档文件夹中的代码放入git存储库。
  2. 使用一些魔术来扩展您的travis-ci构建,该魔术将来自该文档文件夹的所有更改分阶段应用于git git。请参阅下面的最后一个示例链接。
  3. 将Wiki视为文档上的只读视图。请注意,使用github.com,您仍然可以查看并直接编辑documentation文件夹中的文件。因此,您仍然可以在几秒钟内修复浏览器中的拼写错误(即使是PR,也没有回购权限),而不必通过Wiki。
  4. 当贡献者分叉时,他还拥有带有代码的文档。他可以在一个PR中进行更改,并且都可以在同一过程中进行审查,因此合并后,Code和Doc保持同步。仍然有更好的UX,可以通过侧边栏等在Wiki中阅读文档。

由于我们是100%OSS,因此我们很乐意分享我们为实现这一出色解决方案而付出的努力。以下是链接的示例: