From f283cbbcca417b4e44553d5c370453c403bc9531 Mon Sep 17 00:00:00 2001 From: scarqin Date: Wed, 18 Dec 2024 17:11:43 +0800 Subject: [PATCH] feat: push --- frontend/.husky/pre-commit | 1 + frontend/.husky/pre-push | 25 +++++++++++++++++++++++++ frontend/package.json | 5 ++++- 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 frontend/.husky/pre-commit create mode 100755 frontend/.husky/pre-push diff --git a/frontend/.husky/pre-commit b/frontend/.husky/pre-commit new file mode 100644 index 00000000..72c4429b --- /dev/null +++ b/frontend/.husky/pre-commit @@ -0,0 +1 @@ +npm test diff --git a/frontend/.husky/pre-push b/frontend/.husky/pre-push new file mode 100755 index 00000000..8443a739 --- /dev/null +++ b/frontend/.husky/pre-push @@ -0,0 +1,25 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +# 获取当前分支名 +BRANCH=$(git rev-parse --abbrev-ref HEAD) + +# 如果是从 feature 分支推送 +if [[ $BRANCH == feature/* || $BRANCH == fix/* ]]; then + # 获取远程仓库列表 + REMOTES=$(git remote) + + # 检查是否存在 gitlab 和 github 远程仓库 + if echo "$REMOTES" | grep -q "gitlab"; then + echo "Pushing to GitLab..." + git push gitlab $BRANCH + fi + + # 只有在明确要求时才推送到 GitHub + if [[ "$1" == "--with-github" ]]; then + if echo "$REMOTES" | grep -q "github"; then + echo "Pushing to GitHub..." + git push github $BRANCH + fi + fi +fi diff --git a/frontend/package.json b/frontend/package.json index 5fa0b6c5..5d09c20d 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -13,7 +13,9 @@ "serve:remotes": "lerna run serve --scope=remote --parallel", "dev": "lerna run dev --scope=core --stream", "stop": "kill-port --port 5000", - "scan": "i18next-scanner --config i18next-scanner.config.js" + "scan": "i18next-scanner --config i18next-scanner.config.js", + "prepare": "husky", + "push:all": "git push && git push --with-github" }, "keywords": [], "author": "", @@ -68,6 +70,7 @@ "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.4", "file-saver": "^2.0.5", + "husky": "^9.1.7", "i18next-scanner": "^4.5.0", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0",