【发布时间】:2010-12-14 21:10:50
【问题描述】:
github 有这个功能,如果你在项目中创建一个新的分支 gh-pages,你可以发布“项目页面”。完整描述见http://pages.github.com/
我的项目只是html/images,所以我只想为master分支服务。
那么我如何创建一个名为 gh-pages 的新分支,它只是 master 的精确副本? 某种链接操作?
谢谢
【问题讨论】:
github 有这个功能,如果你在项目中创建一个新的分支 gh-pages,你可以发布“项目页面”。完整描述见http://pages.github.com/
我的项目只是html/images,所以我只想为master分支服务。
那么我如何创建一个名为 gh-pages 的新分支,它只是 master 的精确副本? 某种链接操作?
谢谢
【问题讨论】:
您希望 GitHub 存储库中的分支“gh-pages”与“主”分支相同。最简单的解决方案是配置 git 以自动将分支“master”推送到“gh-pages”。
假设您推送到的 GitHub 存储库配置为“源”远程,您可以这样做:
$ git config --add remote.origin.push +refs/heads/master:refs/heads/gh-pages
如果您愿意,也可以直接编辑.git/config 文件。
然后,当您执行 git push 或 git push origin 时,您会将存储库中的“master”分支推送到 GitHub 上的存储库中的“gh-pages”分支。
请参阅 git-push manpage 以获取 refspec 格式的文档和说明。
【讨论】:
git push 命令,但我无法让它与任何 GitHub for Mac 操作(提交、提交和同步、同步或甚至来自存储库菜单的Push)。 GitHub 应用程序执行的git pull --rebase 命令是否有类似的git config 行(根据mac.github.com/help.html)。
origin/gh-pages,而origin/master保持不变,我必须在配置中添加[...] +refs/heads/master:refs/heads/master。我错了吗?
这实际上是git branch 命令的默认行为。需要您在“页面”文章中看到的更复杂的 symbolic-ref 和 clean 命令来避免这样做。
因此,在您的项目根目录下,在 master 分支上:
git branch gh-pages
git checkout gh-pages
或者只是:
git checkout -b gh-pages
【讨论】:
git merge 将更改和文件从一个分支移动到另一个分支。请参阅kernel.org/pub/software/scm/git/docs/… 了解如何使用分支的详细说明。
为您的存储库创建一个本地克隆,创建一个名为 gh-pages 的新本地分支,然后将该新本地分支推送到您的存储库,位于分支 gh-pages
git clone git@github.com:<username>/<project>.git
cd <project>
git checkout -b gh-pages
git push origin gh-pages
【讨论】: