git分支:gh-pages

我在GitHub上有一个回购。 最近我发现了GitHub的页面,我想用它们。
我想创build这个新的分支,然后,当我需要时,提交在master分支或gh-pages分支。

我怎样才能做到这一点? 我必须在我的回购中创build另一个文件夹?

你可能会发现这个教程很有用:

将GitHub页面“gh-pages”分支和“master”分支设置为父项目文件夹(“grandmaster”)的子文件夹 。

对我来说,这种方法似乎更简单,然后每次你想编辑你的gh页面内容时,都要做一个git checkout gh-pages 。 让我知道你的想法^ _ ^

编辑:我更新了教程链接 – 谢谢@Cawas。 旧tuotial(不推荐)是https://gist.github.com/825950

更新的git版本可以替代Chandru解释的git symbolic-ref方法。 这避免了必须使用较低级别的命令。

 git checkout --orphan gh-pages git rm -rf . 

在你的本地克隆上呢,

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

然后, git checkout gh-pages并编写你的页面。 当你准备发布git push origin gh-pages时, git push origin gh-pages pages。

手动创build项目页面

如果您习惯使用命令行git,为项目手动添加一组新页面是一个简单的过程。

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

还有另一个解决你的问题的方法:忘掉gh-pages和分支; 把你的静态文件放在/docs目录下,然后转到你的项目设置并告诉github服务/docs内容。

欲了解更多信息,请看看这个

典型的方法是切换分支: git checkout master如果你想在master和git checkout gh-pages上工作,如果你想在gh-pages

从git 2.5开始,可以同时检出两个分支(在不同的目录中)。 见https://github.com/blog/2042-git-2-5-including-multiple-worktrees-and-triangular-workflows 。 通过git worktree add -b gh-pages ../gh-pages origin/gh-pages设置git worktree add -b gh-pages ../gh-pages origin/gh-pages

奖励:如果您的master结帐的子目录的内容是gh-pages的内容,请使用https://github.com/X1011/git-directory-deploy中提供的脚本。;

发布一个像这样的静态网站:

 git subtree push --prefix www origin gh-pages 

www是您的静态文件所在的doc根目录。 您的静态网站现在位于: https://[user_name].github.io/[repo_name]/

你的gh页面和主分支有完全相同的文件夹结构吗? 如果是这种情况,你甚至想要有两个分支? 只保留一个gh-pages分支! 但如果无论出于什么原因,你想要有两个分支不断同步,那么你最好的select是使用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页面通常最终会拥有与master不同的代码库。 换句话说,gh-pages应该只包含项目的dist / build / publish文件夹的内容,而master将包含你的configuration文件,未定义的脚本和样式等等。

我的build议是将gh页面创build为--orphan分支,并且只包含已发布的材料。 你将不得不克隆你的主在不同的本地目录,使用git checkout --orphan gh-pages创buildgh页面,然后使用git rm -rf .删除所有不需要的文件git rm -rf . 。 从那里你可以继续,并添加您的发布只文件后推送到gh页面。 有关更多信息,请参阅Github文档:
https://help.github.com/articles/creating-project-pages-manually/

祝你好运