web-dev-qa-db-ja.com

ローカルマスターをgithubのgh-pagesブランチにプッシュします

Githubとローカルリポジトリに単純なgh-pagesブランチを作成しました。自動ページジェネレーターを使用して、使用する5つのファイルを作成しました:画像javascriptsスタイルシートindex.html params.json

これをローカルリポジトリにプルして、js-markdown-extra.jsをJavaScriptに追加し、index.htmlを編集して、「コンテンツ」セクションをマークダウンライブラリによって作成されたコンパイル済みのREADME.mdに置き換えました。

ダミーのREADME.mdを入れると、完全に機能することがわかりました。

Iwant次にローカルマスターをプッシュするinto(notonto)5つのWebサイトファイルを変更せずに、リモートgh-pagesブランチ。

これを行う方法が見つかりませんでした。私は http://oli.jp/2011/github-pages-workflow/ を介してこれがうまくいくと言われました:git Push -f Origin master:gh-pages

私はこれをテストリポジトリで試しましたが、失敗しました。その結果、404になりました(マークダウントリック用に作成されたローカルghページをプッシュすると修正されました)。

したがって、isの一部として、マスターintoをプッシュする方法があります、gh-ページ?

それが失敗した場合、5つのWebサイトファイルを削除せずにマスターをローカルでgh-pagesにマージする簡単な方法はありますか?

このすべてを「ミラーリング」して5つのファイルをリポジトリに置く方法を知っていますが、混乱を避けたいです。

19
backspaces

私の理解から、gh-pagesのローカルコピーに切り替える必要があります。マスターにマージしてから、GHページをプッシュする

git checkout gh-pages
git merge master
git Push Origin gh-pages
27
stellarhopper

私があなたを正しく理解している場合、ダミーのReadmeと他のファイルをローカルのmasterブランチに作成したが、それらをgh-pagesブランチに置くつもりだったようです。その場合、最も安全なオプションは、masterブランチをgh-pagesブランチにマージすることです(gh-pagesブランチではなく、masterに他のファイルがない場合)。コマンドが提案したgit Push -f Origin master:gh-pagesは、ローカルマスターブランチをgh-pagesブランチにプッシュします。ブランチ名はgitの単なるポインタなので、私はあなたが何を意味するのか本当にわかりませんが、vs intoです。

9
Jed Schneider

これは、私がmasterブランチとgh-pagesブランチの間でやり取りする方法を理解するために使用した適切な記述 github pages workflow です。

グーグルからのポールアイリッシュは、別の記事のコメントでそれを推奨しました-それは非常に明確な例がありました。

1
jamie

別のアプローチとして、gitsubtreeを使用してgh-pages ブランチ?

git checkout master
git subtree Push --prefix . Origin gh-pages

ソースコードgit-subtreeドキュメントに従って:=:

サブツリーを使用すると、メインプロジェクトのサブディレクトリ内にサブプロジェクトを含めることができ、オプションでサブプロジェクトの履歴全体を含めることができます。

私たちの場合、同じパス(ルートパス; .)マスターブランチの仮想コピーとして(ただし、テストしていません)。

ちなみに、私は this Gistcobyism に遭遇した後、サブツリーについて知りました。

1
Eliran Malka