我在GitHub上看到一个未打开进行编辑的维基页面。然后我分叉项目,在“我的结束”上编辑它并尝试做拉动请求。事实证明, wiki 不在项目中,并且没有办法提交更改。
除了电子邮件之外,如果我想在这种情况下建议修改wiki,还有办法继续吗?
此时我在“有类似标题的问题”下找到了seems like an alternative,但是我还没有用它做拉取请求,所以我不确定子模块是好的为此目的的方式。我现在看到我可能会以某种方式分支它......所以这是要走的路吗?
答案 0 :(得分:100)
GitHub doesn't support pull requests for the wiki repository,只有主存储库(这有点遗憾,IMO,但我能理解它。)
这是一个有趣的方式,一个项目管理社区更新到他们的wiki,同时仍然保持严密控制,如源代码:
我建议的工作流程如下:
- 在您的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 origin
和git remote add origin git@github.com:<YOUR_USERNAME>/Taffy-Wiki.git
- 在本地进行您的建议更改,然后将它们推送到您的github帐户:
git push -u origin master
('-u origin master'仅在第一次需要;之后只需执行git push
)- 向官方Taffy问题跟踪器提交一张票,要求我审核您的更改并将其合并。请确保包含指向您的回购的链接并说明您已更改的内容。
- 转到#2
醇>
(来自 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开始复制粘贴------------
这是受罗曼·伊万诺夫(Roman Ivanov)的启发,(或基本上是从How To Merge Github Wiki Changes From One Repository To Another复制而来的),目的是确保如果原始文章出了什么问题,这里的信息仍然很安全。
OREPO :原始回购-所有者创建或维护的回购
FREPO :可能是已对其Wiki进行更新的分叉存储库,尚未在 OREPO
上显示如果您想为您所创建的仓库的wiki做出贡献,请执行以下操作:
$ g clone [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中找到了解决该问题的最佳方法:
由于我们是100%OSS,因此我们很乐意分享我们为实现这一出色解决方案而付出的努力。以下是链接的示例: