git - 想把 master 分支下的 dist 文件夹推送到 gh-pages 分支 有什么简洁的方法吗?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-02 09:46:13
[Git讨论组]

我想应该不需要先在 master 分支 build 然后复制 dist 文件夹到 gh-pages 分支再提交吧
各位大佬是如何管理 gh-pages 分支呢?

曾经蜡笔没有小新
曾经蜡笔没有小新

全部回复(3)
PHPz

你看了最近 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 是目标分支名称

淡淡烟草味

npm intall gh-pages

PHP中文网

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封装的子进程。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号