# 介绍
脚本会将一些固定代码写在一起,通过git bash上运行命令直接完成,十分方便
# znote本博客提交代码
- package.json文件中添加
"scripts": {
"deploy": "bash deploy.sh"
},
1
2
3
2
3
- 新增 deploy.sh
touch deploy.sh
1
- 编辑 deploy.sh
# 现已通过GitHub Actions自动部署,提交只需 'git push' 即可
# 若不想使用自动部署,可以直接运行命令 'npm run deploy' 本地自动提交部署
# 确保脚本抛出遇到的错误
set -e
# 生成静态文件
npm run docs:build
# 进入生成的文件夹
cd docs/.vuepress/dist/
# 如果是发布到自定义域名
# echo 'www.example.com' > CNAME
git init
git add -A
git commit -m 'deploy'
git remote add origin git@github.com:wpp555/znote.git
git checkout -b gh-pages
# 发布到 https://<USERNAME>.github.io/<REPO>
git push -f git@github.com:wpp555/znote.git master:gh-pages
cd ..
#git init
#git remote add origin git@github.com:zpj80231/znote.git
git add -A
git commit -m 'update docs'
git push origin master
# 如果发布到 https://<USERNAME>.github.io/<REPO>
# git push -f git@github.com:<USERNAME>/<REPO>.git master:gh-pages
cd -
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# 运行自动打包
生产环境,需build后将dist文件夹中文件压缩成war包,每次build事件较长,打包时间比较多(war包需要jar命令,安装jdk才有,也可以直接压缩)
- package.json文件中添加
"scripts": {
"devtest": "bash ./sh/devtest.sh"
},
1
2
3
2
3
- 新增 sh/devtest.sh
mkdir sh
cd sh
touch devtest.sh
1
2
3
2
3
- 编辑 devtest.sh
# 打包命令
# 运行命令 npm run devtest
# 确保脚本抛出遇到的错误
set -e
currDir=$(pwd)
echo "当前目录是:$currDir"
rootDir="$currDir/sh/ROOT.war"
echo 开始打包
npm run build
cd ./dist
echo 当前目录是:$(pwd)
# 打包
jar -cvf $rootDir ./*
echo 打包完毕,文件在 $rootDir
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 开发中提交
每次提交代码,除去commit备注,其他大同小异
"devpush": "bash ./sh/devpush.sh"
1
- 编辑 devpush.sh (单人开发---主分支有拉取提交权限)
# 自动化提交
# 单人开发---主分支有拉取提交权限
# 运行命令 npm run devpush
# 变量
# origin-远程别名 master-主分支 dev-开发分支
origin="origin"
master="master"
dev="dev"
# 确保脚本抛出遇到的错误
set -e
# 确定当前分支是开发分支
branch=`git branch | grep "*"`
currBranch=${branch:2}
if [ $currBranch != $dev ]; then
echo 当前分支是$currBranch,请切换$dev分支后提交
exit;
fi
read -p "提交本地仓库备注:" input
git add -A
# 没有备注默认备注日期
if [ -z $input ]; then
curtime = `date "+%F"`
git commit -m $curtime
else
git commit -m $input
fi
# 切换主分支合并
git checkout $master
git pull $origin $master
git merge $dev
# 单人开发,不存在冲突
git push origin $master
git checkout $dev
git pull $origin $master
git push $origin $dev
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
- 编辑 devpush.sh (多人开发---主分支有拉取提交权限)
# 自动化提交
# 单人开发---主分支有拉取提交权限
# 运行命令 npm run devpush
# 变量
# origin-远程别名 master-主分支 dev-开发分支
origin="origin"
master="master"
dev="dev"
# 确保脚本抛出遇到的错误
set -e
# 确定当前分支是开发分支
branch=`git branch | grep "*"`
currBranch=${branch:2}
if [ $currBranch != $dev ]; then
echo 当前分支是$currBranch,请切换$dev分支后提交
exit;
fi
read -p "提交本地仓库备注:" input
git add -A
# 没有备注默认备注日期
if [ -z $input ]; then
curtime = `date "+%F"`
git commit -m $curtime
else
git commit -m $input
fi
# 切换主分支合并
git checkout $master
git pull $origin $master
git merge $dev
# 检查是否存在冲突
read -p "检查,冲突备注(无冲突直接回车):" conflict
if [ -z $conflict ]; then
echo 没有冲突
else
git add .
git commit -m $conflict
fi
git push origin $master
git checkout $dev
git pull $origin $master
git push $origin $dev
echo 提交完毕
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56