Cal*_*ion 107
GitHub 不支持对wiki存储库的拉取请求,只支持主存储库(这有点遗憾,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
( 如何为Taffy文档做出贡献.)
如果是我,我会在主存储库(即你分叉的那个)中创建一个问题,建议对wiki进行更新.如果未启用问题,请发送电子邮件,告知我能想到的唯一其他选项.
Jör*_*örg 13
到目前为止,我们已经在https://devonfw.com 中找到了该问题的最佳解决方案:
由于我们是 100% OSS,我们喜欢分享我们为实现这一伟大解决方案而付出的辛勤努力。以下是链接示例:
我对此采取了不同的方法,即将完全相同的内容推送到主存储库和 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
Run Code Online (Sandbox Code Playgroud)
为了实现这一点,我合并了两个存储库的提交,如下所示:
然后像这样推送到两个仓库:
希望这可以帮助某人。
您不能执行拉取请求,但您可以打开一个问题,将链接粘贴到您的 wiki 页面,并让它们在您的 wiki 页面中合并到他们的 wiki 页面。
他们只需要克隆您的 wiki 页面存储库,( git clone YOUR_FORKED_REPO.wiki.git),将您的所有 wiki 提交压缩为一个大提交,然后将这个大压缩的提交挑选到他们的存储库中。这会将您所有的 wiki 更改都带入他们的 wiki。
(从 Larry Botha 的 github gist 复制过来:https : //gist.github.com/larrybotha/10650410 ):
合并来自分叉 Github 存储库的 Wiki 更改
这是由 Roman Ivanov从How To Merge Github Wiki Changes From One Repository 到另一个的启发(或基本上复制),用于确保如果原始文章发生某些事情,信息在这里保持良好和安全。
术语
OREPO:原始回购 - 由所有者创建或维护的回购
FREPO : 分叉的 repo 可能已经更新了它的 wiki,还没有在OREPO 上
贡献
如果您想为已分叉的存储库的 wiki 做出贡献,请执行以下操作:
- 分叉回购
- 仅将 wiki 克隆到您的机器:
$ g clone [FREPO].wiki.git- 对您本地的分叉 wiki 存储库进行更改
- 将您的更改推送到 GitHub
准备好让作者知道您有更改后,请执行以下操作:
- 在OREPO上打开一个问题
- 提供指向您 wiki 的 git repo 的直接链接以便于合并:即 [ FREPO ].wiki.git
合并更改
作为OREPO的所有者,您现在收到一条消息,指出您的 wiki 在其他人的FREPO上有更新。
如果 wiki 更改是从最新的OREPO wiki分叉出来的,您可以执行以下操作:
Run Code Online (Sandbox Code Playgroud)$ 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分叉的位置之前,请执行以下操作:
Run Code Online (Sandbox Code Playgroud)$ 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
Gle*_*len -3
GitHub 现在支持此功能,您可以在添加或编辑 wiki 页面中找到详细信息。
现在它被视为一个“普通”存储库,具有分支、拉取请求、提交等。
| 归档时间: |
|
| 查看次数: |
25985 次 |
| 最近记录: |