Skip to content
鼓励作者:欢迎打赏犒劳

Git部署脚本

部署静态资源

第一种写法

deploy.sh

WARNING

部署逻辑是:

先将编译好的dist文件夹复制到一个新的路径下

然后初始化git仓库,本地切换分支(目的是为了本地分支和所推送的远程分支保持一致),然后强制推送远程分支

shell
#!/bin/bash

# 设置变量
SOURCE_DIR="./dist" # 源文件夹路径
DEST_DIR="E:\\tempDir" # 目的文件夹路径
REMOTE_REPO="git@github.com:xxxxx.git" # 远程仓库地址
REMOTE_BRANCH="gh-pages" # 分支名称
COMMIT_MESSAGE="Update repository" # 提交信息

# 删除目标文件夹(如果它存在)
if [ -d "$DEST_DIR" ]; then
    rm -rf "$DEST_DIR"
fi

# 确保目的文件夹存在
mkdir -p "$DEST_DIR"

# 复制文件
cp -R "$SOURCE_DIR"/* "$DEST_DIR"

# 进入目的文件夹
cd "$DEST_DIR" || exit

# 初始化git仓库(如果尚未初始化)
if [ ! -d ".git" ]; then
    git init
    git remote add origin "$REMOTE_REPO"
fi

# 切换分支
git checkout -b "$REMOTE_BRANCH"

# 添加所有文件到暂存区
git add .

# 提交更改
git commit -m "$COMMIT_MESSAGE"

# 推送到GitHub 远程分支
git push -u -f origin "$REMOTE_BRANCH"

第二种写法

deploy.sh

WARNING

部署逻辑是:

直接进去dist文件夹,然后初始化仓库,推送远程分支,然后删除分支。

这个脚本看上去更加简单

shell
#!/bin/bash

# 忽略错误
set -e

# 构建
npm run docs:build

# 进入待发布的目录
cd docs/.vitepress/dist

# 初始化 git 并强制提交到仓库
git init
git add -A
git commit -m "Updated version of git repositoryMap"
git remote add origin 远程git仓库
# 将本地的master分支推送到远程的gh-pages分支
git push -f origin master:gh-pages

# 返回上次所在的目录
cd -

# 删除dist文件夹
rm -rf docs/.vitepress/dist

# 是否关闭命令行窗口
exec /bin/bash

如有转载或 CV 的请标注本站原文地址