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/
祝你好运