两个分支可以指向同一个提交吗?

时间:2013-02-06 04:47:51

标签: git branch git-branch

我想让我的gh-pages与我的github repo上的master保持同步,目前我正在用一个脚本执行此操作,每次生成额外的合并提交,实际上我只是需要一次提交。

确实,我可以简单地忽略更新master并仅使用gh-pages进行开发,但我想知道git是否支持两个本地分支可以指向同一个提交的可能性。

有向前迈进的重点。在github.com上向世界公开的回购跟踪master,而my_username.github.com上的Github Pages页面(托管我实际用于测试的实时代码示例和测试页面)跟踪{{1} }。两者都应该同步重要的东西(js代码),我的问题是关于两者是否有可能指向相同的确切提交。暂时忽略这意味着gh-pages将收到不属于那里的Pages网站的额外文件。我仍然不介意拥有这种透明度,因此人们很容易弄清楚网站是如何设置的。

2 个答案:

答案 0 :(得分:2)

我是从your repo收集到的。

$ git diff --stat master..gh-pages
 debug.js                     |    2 +-
 images/body-bg.png           |  Bin 0 -> 8859 bytes
 images/highlight-bg.jpg      |  Bin 0 -> 34222 bytes
 images/hr.png                |  Bin 0 -> 1037 bytes
 images/octocat-icon.png      |  Bin 0 -> 1651 bytes
 images/tar-gz-icon.png       |  Bin 0 -> 1671 bytes
 images/zip-icon.png          |  Bin 0 -> 1661 bytes
 index.html                   |   71 ++++++++
 javascripts/main.js          |    1 +
 params.json                  |    1 +
 stylesheets/print.css        |  226 +++++++++++++++++++++++++
 stylesheets/pygment_trac.css |   69 ++++++++
 stylesheets/stylesheet.css   |  371 ++++++++++++++++++++++++++++++++++++++++++
 13 files changed, 740 insertions(+), 1 deletions(-)

从事物的外观来看,分支与添加的基本相同 gh-pages上的一些文件/文件夹。简单的答案是杀死master, 为I have done

我想补充说存在两种类型的“GitHub页面”。

  • 您有“用户”页面,类似于svnpenn.github.io
  • 您有“项目”页面,类似于svnpenn.github.io/bm

  • 用户页面依赖于master分支来生成/显示页面。
  • 项目页面依靠gh-pages分支来生成/显示页面。

很明显,gh-pages分支在“用户”仓库中没有目的, 就像master分支在“项目”回购中具有无目的一样,除了 你提出的目的。

答案 1 :(得分:1)

是的,两个分支可以指向相同的提交。但是在gh-pages的情况下,分支不会共享相同的历史记录,因此您必须告诉Git,基本上squash现有的gh-pages分支是可以的。

这会将您的gh-pages分支指向您的本地主人所指向的内容:

git push origin +master:gh-pages

请记住,它会压缩服务器上指向的gh-pages+标志告诉Git可以压扁东西。