我想應該不需要先在 master 分支 build 然後複製 dist 資料夾到 gh-pages 分支再提交吧各位大佬呢?
master
build
dist
gh-pages
你看了最近 Github 發表的一篇更新說明麼?
https://github.com/blog/2228-...
當然,如果你的確想用 gh-pages(或別的什麼目錄名)的話,以下是一種我認為最簡單的方法:
第一步
/dist 目录需要被 git 记录,于是后面我们才可以用它作为子树(subtree),因此 /dist 不能被 .gitignore 規則排除
/dist
.gitignore
第二步
git subtree push --prefix dist origin gh-pages
搞定。其中:
dist 代表子树所在的目录名origin 是 remote namegh-pages 是目標分支名稱
origin
npm 安裝 gh-pages
gh-pages已經升級了,似乎不再需要單獨的分支了。
我以前的話,是單獨給這個東西寫個指令。 差不多長這樣:
const promises = [task1, task2, task3, task4].map((n) => new Promise(n)); Promise.all(promises) .then(git('init')) .then(git('add', '-A')) .then(git('commit', '-m', 'update')) .then(git('push', '-u', url, 'master:' + branch, '--force')) .then(() => console.log('\n INFO: 文件上传完毕。')) .catch((err) => console.log('\n INFO: 发生错误,意外中止\n' + err));
其中git函数是使用require('child_process').spawn封裝的子進程。
git
require('child_process').spawn
你看了最近 Github 發表的一篇更新說明麼?
https://github.com/blog/2228-...
當然,如果你的確想用 gh-pages(或別的什麼目錄名)的話,以下是一種我認為最簡單的方法:
第一步
/dist
目录需要被 git 记录,于是后面我们才可以用它作为子树(subtree),因此/dist
不能被.gitignore
規則排除第二步
git subtree push --prefix dist origin gh-pages
搞定。其中:
dist
代表子树所在的目录名origin
是 remote namegh-pages
是目標分支名稱npm 安裝 gh-pages
gh-pages已經升級了,似乎不再需要單獨的分支了。
我以前的話,是單獨給這個東西寫個指令。
差不多長這樣:
其中
git
函数是使用require('child_process').spawn
封裝的子進程。