#!/bin/bash # # This is an example Git hook for use with Rush. To enable this hook, rename this file # to "commit-msg" and then run "rush install", which will copy it from common/git-hooks # to the .git/hooks folder. # # TO LEARN MORE ABOUT GIT HOOKS # # The Git documentation is here: https://git-scm.com/docs/githooks # Some helpful resources: https://githooks.com # # ABOUT THIS EXAMPLE # # The commit-msg hook is called by "git commit" with one argument, the name of the file # that has the commit message. The hook should exit with non-zero status after issuing # an appropriate message if it wants to stop the commit. The hook is allowed to edit # the commit message file. # This example enforces that commit message should contain a minimum amount of # description text. # if [ `cat $1 | wc -w` -lt 3 ]; then # echo "" # echo "Invalid commit message: The message must contain at least 3 words." # exit 1 # fi if [ "$SKIP_COMMIT_MSG_HOOK" = "true" ]; then exit 0 fi # rebase 过程中分支名格式为 (no branch, rebasing chore/replace-rushtool) # 正常提交时分支名格式为 chore/replace-rushtool BRANCH_NAME=$(git branch | grep '*' | sed 's/* //') # 如果匹配到 rebase 格式的输出,认为是在rebase ,则跳过自动推送 if [[ "X${BRANCH_NAME}" == "X(no branch"* ]]; then exit else node common/scripts/install-run-rush.js -q commitlint \ --config common/autoinstallers/rush-commitlint/commitlint.config.js \ --edit "$1" || exit 1 node common/scripts/install-run-rush.js change-x || exit 1 fi