在github上开发,我经常在我的主分支中维护一个html/
或_site/
子目录,在那里我为项目生成基于Web的文档。我想切换到我的gh-pages分支和pull
这个html
目录的内容到gh-pages分支的根目录,所以它将通过github呈现为一个不错的网站(它会在gh-pages
处username.github.com/repositoryname
自动呈现html。这样做的最佳工作流程是什么?
如果我还没有设置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分支?听起来这可能涉及subtree merging,但我不太确定。
答案 0 :(得分:13)
开始你的gh-pages分支:
true | git mktree | xargs git commit-tree | xargs git branch gh-pages
要获取您想要的任何内容,请说明主分支中的html目录,read-tree和commit:
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
不需要刷新当前工作树