我可以将 git 存储库的 gh-pages 分支设为 Master 分支的镜像吗?

Jam*_*ier 2 git github github-for-mac

GitHub 具有从存储库的 gh-pages 分支中提取的项目页面功能。它在这里解释:http : //pages.github.com/

我希望 gh-pages 分支是 Master 分支的精确镜像。一种方法,我发现(在这里对堆栈溢出)是运行:

git config --add remote.origin.push +refs/heads/master:refs/heads/gh-pages
Run Code Online (Sandbox Code Playgroud)

这会导致每个实例git push将存储库的 Master 分支推送到 gh-pages 分支。

我在这个解决方案中遇到的问题是我使用的是 GitHub Mac App,它不使用严格的git push. 根据http://mac.github.com/help.html它做了一个git pull --rebase. 此外,即使我Push从 Repository 菜单中选择,我的 git config 行也没有被遵守。

所以,我想知道是否有一种方法可以很好地与 GitHub Mac App 配合,让 gh-pages 分支成为 Master 分支的精确镜像。

Jam*_*ier 5

我跑了一堆我自己的测试。您似乎不需要经过他们在http://pages.github.com/上列出的确切过程来创建 gh-pages 分支。您可以简单地从 GitHub Mac 应用程序中创建一个名为 gh-pages 的新分支。

他们可能不会指示人们这样做,因为我在这里完成的不是典型的场景。

您可以采取以下步骤从 GitHub Mac 应用程序中创建“gh-pages”分支:

  1. 转到存储库的分支视图
  2. 单击+主分支上的按钮创建一个新分支 - 将此命名为“gh-pages”
  3. 单击Publish按钮将其推送到 GitHub
  4. 如果您不在 Master 分支中工作,请使用左下角菜单签出 Master 分支

采取以下步骤将您的更改从 Master 分支同步到 gh-pages 分支:

  1. 在您的主分支中进行更改
  2. 在 Changes 视图中,输入提交摘要并单击Commit & Sync按钮推送到 Master 分支
  3. 切换到分支视图
  4. 单击Merge View按钮以显示合并视图
  5. 将 Master 分支拖到左侧插槽,将 gh-pages 分支拖到右侧插槽
  6. 点击Merge Branches按钮
  7. 使用左下角菜单签出 gh-pages 分支
  8. 单击Branch in Sync按钮强制同步