16

githubで開発していると、プロジェクトのWebベースのドキュメントを生成するマスターブランチにhtml/またはサブディレクトリを維持することがよくあります。gh-pagesブランチに切り替えて、このディレクトリの内容だけを_site/gh-pagesブランチのルートに切り替えたいので、github(でhtmlを自動的にレンダリングします)を介して素敵なWebサイトとしてレンダリングされます。これを行うための最良のワークフローは何ですか?pullhtmlgh-pagesusername.github.com/repositoryname

gh-pagesブランチをまだ設定していない場合は、ブランチを作成してブランチをクリアし、htmlディレクトリとprestoの内容をコピーして、サイトにアクセスする準備ができています。しかし、後でgh-pagesブランチを更新する最善の方法がわかりません。

git branch gh-pages
git checkout gh-pages
# Remove files I don't need from the gh-pages branch
rm -rf data/ man/ R/ README.md NEWS NAMESPACE DESCRIPTION demo/
# move documentation to the root
mv inst/doc/html/* .
# remove the rest
rm -rf inst/
git add *
git commit -a -m "gh-pages documentation"
git push origin gh-pages
git checkout master

後でgh-pagesブランチを更新するにはどうすればよいですか?これにはサブツリーのマージが含まれる可能性があるようですが、よくわかりません。

4

1 に答える 1

14

gh-pagesブランチを開始するには:

true | git mktree | xargs git commit-tree | xargs git branch gh-pages

必要なものをフェッチするには、マスターブランチからhtmlディレクトリを指定し、ツリーを読み取り、コミットします。

git checkout gh-pages
git read-tree master:html
git commit -m'gh-pages documentation'
git push origin gh-pages
git checkout master

これで完了です。

後期追加:gh-pagesブランチに追加するためのより短いシーケンスがあります:

git commit-tree -p gh-pages -m "" master:html \
| xargs git update-ref refs/heads/gh-pages

現在の作業ツリーをフラッシュする必要はありません

于 2012-05-14T22:02:34.510 に答える