GitHub で編集用に開いていないwikiページを見ました。次に、プロジェクトを分岐し、「私の終わり」で編集して、プルリクエストを実行しようとしました。結局のところ、wikiはプロジェクトに存在せず、変更をコミットする方法はありません。
この場合、wikiで変更を提案したい場合、電子メール以外に先に進む方法はありますか?
この時点で、「似たタイトルの質問」の下で 代替のように見える を見つけましたが、プル要求をまだ行うことができなかったため、サブモジュールが良いかどうかわかりませんこの目的のための方法。どうにかして分岐できるようになったと思います...では、これが道なのでしょうか?
GitHub wikiリポジトリのプルリクエストをサポートしていません 、メインリポジトリのみ(これは少し残念ですが、IMOですが、理解できます)。
ソースコードに関しては、1つのプロジェクトがWikiのコミュニティ更新を管理しながら、厳密な制御を維持する興味深い方法を次に示します。
私の提案するワークフローは次のとおりです。
- 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
- 提案された変更をローカルで行い、githubアカウントにプッシュします:
git Push -u Origin master
( '-u Origin master'は初めて必要でしたが、その後はただgit Push
)- 公式のTaffy課題トラッカーにチケットを送信して、変更の確認とマージを依頼してください。必ずリポジトリへのリンクを含め、変更内容を説明してください。
- 後藤#2
(Taffyドキュメントへの貢献方法から。)
私なら、メインリポジトリ(つまり、フォークしたもの)に問題を作成して、Wikiの更新を提案します。問題が有効になっていない場合、私が考えることができる唯一の他のオプションについてのメールです。
私はこれに対して別のアプローチを取りました。つまり、まったく同じコンテンツをメインリポジトリと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
これを達成するために、次の両方のリポジトリからのコミットをマージしました:
そして、次のように両方のリポジトリにプッシュします:
これが誰かを助けることを願っています。
1ページの長さのドキュメントを作成しても大丈夫な場合(実際にはもっと気に入っています)、README.MD
そして、Wikiのコンテンツをそこに配置します。
通常のリポジトリの一部として追跡されるだけでなく、ホームページにも表示されます。
クイックリファレンスから始めてから、より詳細な説明/指示に入るようにすることができます。これにより、通常のユーザーが最初に、より一般的な情報にアクセスできます。
プルリクエストを行うことはできませんが、問題を開いて、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の変更をあるリポジトリから別のリポジトリにマージする方法 からインスピレーションを得た(または基本的にコピーされた)もので、元の記事に何かが発生した場合に情報が素敵であり、ここで安全です。
[〜#〜] orepo [〜#〜]:元のレポ-所有者が作成または管理するレポ
[〜#〜] frepo [〜#〜]:おそらくまだWikiに更新されていない、[〜#〜] orepo [〜#〜]
分岐したリポジトリのwikiに貢献したい場合は、次の手順を実行します。
$ g clone [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要点からのコピーペーストの終わり------------