搜尋

首頁  >  問答  >  主體

git - 想把 master 分支下的 dist 資料夾推送到 gh-pages 分支 有什麼簡潔的方法嗎?

我想應該不需要先在 master 分支 build 然後複製 dist 資料夾到 gh-pages 分支再提交吧
各位大佬呢?

曾经蜡笔没有小新曾经蜡笔没有小新2791 天前1026

全部回覆(3)我來回復

  • PHPz

    PHPz2017-05-02 09:48:13

    你看了最近 Github 發表的一篇更新說明麼?

    https://github.com/blog/2228-...


    當然,如果你的確想用 gh-pages(或別的什麼目錄名)的話,以下是一種我認為最簡單的方法:

    第一步

    /dist 目录需要被 git 记录,于是后面我们才可以用它作为子树(subtree),因此 /dist 不能被 .gitignore 規則排除

    第二步

    git subtree push --prefix dist origin gh-pages

    搞定。其中:

    dist 代表子树所在的目录名
    origin 是 remote name
    gh-pages 是目標分支名稱

    回覆
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-02 09:48:13

    npm 安裝 gh-pages

    回覆
    0
  • PHP中文网

    PHP中文网2017-05-02 09:48:13

    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封裝的子進程。

    回覆
    0
  • 取消回覆