"git symbolic-ref HEAD refs/heads/gh-pages"和"git branch gh-pages"之间有什么区别?

Jam*_*ier 5 git github

这是这个过程创建GitHub的项目页面一个分支:

cd /path/to/repo-name
git symbolic-ref HEAD refs/heads/gh-pages
rm .git/index
git clean -fdx
echo "My GitHub Page" > index.html
git add .
git commit -a -m "First pages commit"
git push origin gh-pages
Run Code Online (Sandbox Code Playgroud)

它声明git symbolic-ref HEAD refs/heads/gh-pages将创建一个新的根分支.我想知道根分支和常规分支之间的区别是什么.

man*_*lds 11

"根分支"是没有先前历史的分支.*

如果你是主人并且你这样做git branch gh-pages,那么gh-pages将基于主人.

这里的目的是为github页面创建一个分支,它通常与你的repo(master和其他分支)的历史记录无关,因此它的使用 git symbolic-ref

另见:https://stackoverflow.com/a/8815361/526535

*它也被称为孤儿分支,git checkout --orphan现在会做同样的事情git symbolic-ref,目前正在做之前

另请参阅我的回答:https://stackoverflow.com/a/5690048/526535

  • 如果 gh-pages 分支基于 master 会出现什么问题?它会改变什么吗? (3认同)