在项目的 Github 页面上工作
Posted
技术标签:
【中文标题】在项目的 Github 页面上工作【英文标题】:Working on a project's Github page 【发布时间】:2014-11-01 17:32:58 【问题描述】:我刚刚克隆了一个我在 Github 上托管的 repo,但这只是检查了 master
分支。 Github 还自动创建了一个 gh-pages
分支来托管项目的站点。
我还想克隆(结帐?拉?)这个分支来处理它,我发现了很多关于这让我有点困惑的材料。
This answer 说我应该这样做:
git checkout -b gh-pages origin/gh-pages
而this one 暗示该命令可能是:
git branch -f gh-pages upstream/gh-pages
这两者有什么区别?我应该坚持第一个吗?
添加。如果我这样做git branch -a
,我会得到:
remotes/origin/HEAD -> origin/master
remotes/origin/gh-pages
remotes/origin/master
【问题讨论】:
【参考方案1】: 如果该分支不存在,第一个会创建一个分支gh-pages
。
第二个强制现有的gh-pages
分支到upstream/gh-page
。
就个人而言,我更喜欢声明gh-pages
branch as a submodule。
这使您可以在 master 上工作,同时查看/更新 gh-pages
子文件夹(声明为子模块)中的 gh-pages
内容。
2016 年 8 月更新:Simpler GitHub Pages publishing 现在允许将您的页面文件保存在 same 分支的子文件夹中(不再需要 gh-pages
):
所以你现在甚至不必检查另一个分支(如果上游 repo 选择了新的内容组织)
【讨论】:
如果gh-pages
分支已经存在(我的情况),第一个会做什么?如果我想在我已经存在的gh-pages
分支上工作,我应该使用哪一个?我将检查使用子模块,以前从未见过。
@Gabriel 如果分支已经存在,命令将失败。第二个不会。
VonC 尝试了第二个命令 (git branch -f gh-pages upstream/gh-pages
),我得到了:fatal: Not a valid object name: 'upstream/gh-pages'.
@Gabriel 您需要将其调整为上游仓库的名称:git remote -v
:在您的情况下很可能是“起源”。 git branch -f gh-pages origin/gh-pages
@Gabriel 您提到的第二个答案在 GitHub 分叉的上下文中使用“上游”:阅读我的答案:***.com/a/9257901/6309以上是关于在项目的 Github 页面上工作的主要内容,如果未能解决你的问题,请参考以下文章
Jekyll 博客文件夹不会在 github 页面上编译,但可以离线工作