如何在将主项目文件保存在master上的同时将子文件夹提交到gh-pages?

时间:2017-03-11 10:51:51

标签: git github

我的本​​地文件如下所示:

.git
.gitignore
builds
gulpfile.js

这些文件/文件夹放在我的主分支中。我想只提交我的gh-pages builds/deploy文件夹。

我创建了空的远程存储库(没有初始化它),然后是本地:

git init
git remote add origin https://github.com/user/repo.git
git add *
git commit -m "test"
git push origin master

这就是问题的起点。我需要创建空的gh-pages分支,所以我只能提交子文件夹。首先,我必须建立新的本地分支。我试过了:

git checkout --orphan gh-pages
git add builds/deploy/*
git commit -m "test"

我也尝试过使用子树,但是在尝试将本地分支更改为master时出错(所以我可以提交所有文件)。

我遵循了这个指南: https://gist.github.com/cobyism/4730490 但它忽略了你添加gh-pages分支(本地)的部分,因为远程分支似乎是自动创建的。

我希望我的问题很清楚,如果没有,请告诉我。

由于

1 个答案:

答案 0 :(得分:0)

git commit -am "Save local changes"

git checkout -B gh-pages

git add -f builds/deploy

git commit -am "Rebuild website"

git filter-branch -f --prune-empty --subdirectory-filter builds/deploy

git push -f origin gh-pages

git checkout -

几天前在这里找到它: https://github.com/facebookincubator/create-react-app/blob/dcdcab0ecc86d9643bc9c3c9a9eee8bbad63bb43/template/README.md#github-pages