gh pages - aispin/mamboer.github.io GitHub Wiki
将gh-pages添加为master分支的submodule
为了避免频繁地切换gh-pages分支和master分支,可以将gh-pages分支添加为master分支的子模块。
-
创建一个独立(orphan)的gh-pages分支
在master分支下,保证修改已经被提交,运行下面脚本:
git checkout --orphan gh-pages
这时候会将master分支切换至gh-pages分支,同时原master分支的内容也保留在里面
-
在1签出的gh-pages分支下,删除不想放在gh-pages下的内容
源码什么的不适合放gh-pages下的文件统统删掉
-
提交剩下的文件至gh-pages分支并推送至github服务器
git add -A git commit -a -m "init gh-pages" git push --set-upstream origin gh-pages
-
切换回master分支,创建submodule
site
指向gh-pages分支git checkout master git submodule add -b gh-pages [email protected]:mamboer/motify.git site
你可以将子模块名site换成你喜欢的名字,例如
publish
或pages
之类的 -
如果出现
A git directory for 'site' is found locally with remote(s)
的提示请参考以下删除子模块的方法将site模块删除掉,然后重做4
至此,正常的话你已成功将gh-pages分支添加为master分支的site子模块,两个目录包含各自内容,方便切换维护。
如何删除一个子模块submodule
有时候可能会有删除submodule的场景,可以运行以下命令:
rm -rf .git/modules/path_to_submodule