web-dev-qa-db-ja.com

gitブランチ:gh-pages

GitHubにリポジトリがあります。最近、GitHubのページを発見しました。それらを使用したいと思います。
この新しいブランチを作成し、必要に応じて、masterブランチまたはgh-pages ブランチ。

これどうやってするの?リポジトリ内に別のフォルダーを作成する必要がありますか?

56
rubik

このチュートリアルは役に立つかもしれません:

GitHub Pages "gh-pages"ブランチと "master"ブランチを親プロジェクトフォルダー( "grandmaster")のサブフォルダーとして設定

私にとって、このアプローチはgit checkout gh-pages gh-pagesコンテンツを編集するたびに。ご意見をお聞かせください^ _ ^

編集:チュートリアルリンクを更新しました-@Cawasに感謝します。古いtuotial(非推奨)は https://Gist.github.com/82595

28
Chris Jacob

Gitのより新しいバージョンには、git symbolic-refチャンドルが説明した方法。これにより、下位レベルのコマンドを使用する必要がなくなります。

git checkout --Orphan gh-pages
git rm -rf .
35
Arrowmaster

ローカルクローンで、

git symbolic-ref HEAD refs/heads/gh-pages
rm .git/index 
git clean -fdx

次に、git checkout gh-pagesそしてページを書きます。 git Push Origin gh-pagesページを公開する準備ができたら。

9
Chandra Sekar

次のような静的サイトを公開します。

git subtree Push --prefix www Origin gh-pages

ここで、wwwは、静的ファイルがあるドキュメントルートディレクトリです。静的サイトは現在https://[user_name].github.io/[repo_name]/

2
Jonas Ellehauge

あなたの問題にはさらに別の解決策があります:gh-pagesと分岐を忘れてください。提供することになっている静的ファイルを/docsディレクトリ内に配置し、プロジェクト設定に移動してgithubに/docsコンテンツを提供するように指示します。

詳細については、 this をご覧ください。

2
Rsh

プロジェクトページの手動作成

コマンドラインgitの使用に慣れている場合、プロジェクトに新しいページセットを手動で追加するのは簡単なプロセスです。

https://help.github.com/articles/creating-project-pages-manually

1
mockee

典型的な方法は、ブランチを切り替えることです:git checkout masterマスターで作業する場合はgit checkout gh-pagesgh-pagesで作業する場合。

Git 2.5以降では、両方のブランチを同時に(異なるディレクトリで)チェックアウトできます。 https://github.com/blog/2042-git-2-5-include-multiple-worktrees-and-triangular-workflows を参照してください。 git worktree add -b gh-pages ../gh-pages Origin/gh-pagesを介してセットアップします。

ボーナス:masterチェックアウトのサブディレクトリのコンテンツがgh-pagesのコンテンツである場合、 https://github.com/X1011/git-directory-で提供されるスクリプトを使用しますdeploy

0
koppor

Gh-ページとmasterブランチはまったく同じフォルダー構造ですか?これが当てはまる場合、なぜ2つのブランチが必要なのでしょうか? gh-pagesブランチを1つ維持するだけです!何らかの理由で両方のブランチを常に同期させたい場合は、git rebaseを使用するのが最善の策です。こちらをご覧ください:
http://lea.verou.me/2011/10/easily-keep-gh-pages-in-sync-with-master/

また、必要なファイルのみをマスターから選択し、git checkoutの特別なユースケースを使用してghページにプッシュすることもできます。こちらをご覧ください:
http://oli.jp/2011/github-pages-workflow/#gh-pages-workflow
http://nicolasgallagher.com/git-checkout-specific-files-from-another-branch/

同じ問題に取り組まなければならなかったので、ghページは通常、マスターとは異なるコードベースを持つことになります。言い換えれば、gh-ページにはプロジェクトのdist/build/publishフォルダーのコンテンツのみを含めるべきであるのに対し、マスターには設定ファイル、縮小されていないスクリプト、スタイルなどが含まれます。

私の提案はgh-pagesを--Orphanブランチとして作成し、その中に出版用の資料のみを含めることです。マスターから別のローカルディレクトリにクローンを作成し、git checkout --Orphan gh-pagesを使用してghページを作成し、git rm -rf .を使用して不要なファイルをすべて削除する必要があります。パブリッシュ専用ファイルを追加したら、そこからghページにプッシュしてプッシュできます。詳細については、Githubのドキュメントを参照してください。
https://help.github.com/articles/creating-project-pages-manually/

がんばろう

0
Saba Ahang