因为过程复杂和老忘记改版本号(╯‵□′)╯︵┻━┻,为简化自己提交开源工具而写的shell,记录一下。
用alias写在了.zshrc
里,直接用 command [version] [commit/tag message] [subtreeDir]
使用,[version]
和[message]
必须。
其中包含了自动修改版本号、git提交操作、tag操作、publish、提交gh-pages的subtree。
我的drag-block目前在用,前期准备工作如下:
- 在github上建库
- 使用webpack打包,设置dev和prod环境
- build会把代码以及示例打包,分别放在lib/ 和 example/下
- 需要一个npm账号在登录状态
- 配置npm publish之前的ignore、files等
- 建立gh-pages分支,并使用subtree将example/提交到该分支
会得到:
- 一个github仓库
- github releases,可以用代码包的方式下载
- 可以直接在npm install的工具
- 一个github page,内容是你做的示例页面
具体的可以从drag-block这里看。
#!/bin/sh
if [ ! -n "$3" ];then
subtreeDir="example/"
else
subtreeDir=$3
fi
if [ ! -n "$1" ];then
echo '请输入版本号';
else
sed -i '' 's#\("version": "\).*#\1'"$1"'",#g' package.json # 修改package.json中的version
npm run build
git add .
git commit -m "$2"
git tag $1 -m "$2"
git push
git push --tags
npm publish
git subtree push --prefix=${subtreeDir} origin gh-pages # 使用subtree的方式提交我的 example/ 目录为gh-pages分支内容,用以github pages。
fi