web-dev-qa-db-ja.com

GitHubでWikiページを取得するにはどうすればよいですか?

GitHub で編集用に開いていないwikiページを見ました。次に、プロジェクトを分岐し、「私の終わり」で編集して、プルリクエストを実行しようとしました。結局のところ、wikiはプロジェクトに存在せず、変更をコミットする方法はありません。

この場合、wikiで変更を提案したい場合、電子メール以外に先に進む方法はありますか?

この時点で、「似たタイトルの質問」の下で 代替のように見える を見つけましたが、プル要求をまだ行うことができなかったため、サブモジュールが良いかどうかわかりませんこの目的のための方法。どうにかして分岐できるようになったと思います...では、これが道なのでしょうか?

130
cregox

GitHub wikiリポジトリのプルリクエストをサポートしていません 、メインリポジトリのみ(これは少し残念ですが、IMOですが、理解できます)。

ソースコードに関しては、1つのプロジェクトがWikiのコミュニティ更新を管理しながら、厳密な制御を維持する興味深い方法を次に示します。

私の提案するワークフローは次のとおりです。

  1. GithubアカウントでTaffy wikiのフォークを手動で作成します:
    • Githubアカウントに新しいリポジトリを作成します。それを「Taffy-Wiki」と呼びましょう。
    • Taffy wikiリポジトリをローカルマシンのどこかにクローンします:git clone [email protected]:atuttle/Taffy.wiki.git
    • 元の「Origin」リモートを削除し、githubリポジトリを新しい「Origin」として追加しますgit remote rm Originおよびgit remote add Origin [email protected]:<YOUR_USERNAME>/Taffy-Wiki.git
  2. 提案された変更をローカルで行い、githubアカウントにプッシュします:git Push -u Origin master( '-u Origin master'は初めて必要でしたが、その後はただgit Push
  3. 公式のTaffy課題トラッカーにチケットを送信して、変更の確認とマージを依頼してください。必ずリポジトリへのリンクを含め、変更内容を説明してください。
  4. 後藤#2

Taffyドキュメントへの貢献方法から。)

私なら、メインリポジトリ(つまり、フォークしたもの)に問題を作成して、Wikiの更新を提案します。問題が有効になっていない場合、私が考えることができる唯一の他のオプションについてのメールです。

103
Calrion

私はこれに対して別のアプローチを取りました。つまり、まったく同じコンテンツをメインリポジトリとwikiの両方にプッシュします。これは誰の好みにもなりませんが、 Risk-First は主にメインリポジトリにいくつかのJekyllページがあるWikiです。

これは、プルリクエスト/フォークプロセスが正常に機能することを意味します。ただし、プルリクエストをマージした後、ローカルリポジトリにプルし、メインリポジトリとWikiの両方にプッシュするという追加の手順を実行する必要があります。

localhost:website robmoffat$ git remote show Origin
* remote Origin
  Fetch URL: [email protected]:risk-first/website.git
  Push  URL: [email protected]:risk-first/website.wiki.git
  Push  URL: [email protected]:risk-first/website.git
  HEAD branch: master

これを達成するために、次の両方のリポジトリからのコミットをマージしました:

2つのGitリポジトリをどのようにマージしますか?

そして、次のように両方のリポジトリにプッシュします:

Git-コードを2つのリモートにプッシュする

これが誰かを助けることを願っています。

1
Rob Moffat

1ページの長さのドキュメントを作成しても大丈夫な場合(実際にはもっと気に入っています)、README.MDそして、Wikiのコンテンツをそこに配置します。

通常のリポジトリの一部として追跡されるだけでなく、ホームページにも表示されます。

クイックリファレンスから始めてから、より詳細な説明/指示に入るようにすることができます。これにより、通常のユーザーが最初に、より一般的な情報にアクセスできます。

0
Igor Stoppa

プルリクエストを行うことはできませんが、問題を開いて、Wikiページへのリンクを貼り付け、WikiページでWikiページにマージさせることができます。

要するに:

彼らはあなたのwikiページのレポジトリをクローンする必要があります、(git clone YOUR_FORKED_REPO.wiki.git)、すべてのwikiコミットを1つの大きなコミットにまとめてから、この大きな押しつぶされたコミットをリポジトリにチェリーピックします。これにより、Wikiのすべての変更がWikiに反映されます。

完全な手順:

(Larry BothaのGitHub Gistからコピーされました: https://Gist.github.com/larrybotha/1065041 ):

----------上記のGITHUBの要点からのコピーペーストの開始------------

フォークされたGithubリポジトリからのWiki変更のマージ

これは Github Wikiの変更をあるリポジトリから別のリポジトリにマージする方法 からインスピレーションを得た(または基本的にコピーされた)もので、元の記事に何かが発生した場合に情報が素敵であり、ここで安全です。

用語

[〜#〜] orepo [〜#〜]:元のレポ-所有者が作成または管理するレポ

[〜#〜] frepo [〜#〜]:おそらくまだWikiに更新されていない、[〜#〜] orepo [〜#〜]

寄稿

分岐したリポジトリのwikiに貢献したい場合は、次の手順を実行します。

  • レポをフォークする
  • wikiのみをマシンに複製します:$ g clone [FREPO].wiki.git
  • ローカルのフォークされたwikiリポジトリを変更します
  • 変更をGitHubにプッシュする

変更があったことを作成者に知らせる準備ができたら、次の手順を実行します。

  • [〜#〜] orepo [〜#〜]で問題を開く
  • マージを容易にするために、wikiのgitリポジトリへの直接リンクを提供します。つまり、[[〜#〜] frepo [〜#〜]]。wiki.git

変更のマージ

[〜#〜] orepo [〜#〜]の所有者として、あなたは他の誰かのウィキに更新があるというメッセージを受け取りました[〜#〜] frepo [〜#〜]

Wikiの変更が最新の[〜#〜] orepo [〜#〜]wikiから分岐している場合、次の操作を実行できます。

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

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

$ git Push Origin master

If[〜#〜] 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要点からのコピーペーストの終わり------------

0
Gabriel Staples