设置或校验 git user
信息是否规范, 支持命令模式和 API 模式;
使用场景: 用于校验那些不应该出现的邮箱地址会名称出现在 git
提交记录中, 常见的使用公司内部邮箱提交 github
的开源项目, 这通常是不允许的.
npm i @codegenius/git-user-plugin -D
import { defineConfig } from "code-genius";
import { gitUserInstaller } from "@codegenius/git-user-plugin";
export default defineConfig({
plugins: [
gitUserInstaller({
ruleEmail: "^[a-zA-Z0-9._%+-]+@(gmail)\\.(com)$",
}),
],
});
# 在默认规则下设置 email 信息
codeg gituser -e [email protected]
# 在指定规则下设置 email 信息
codeg gituser -e [email protected] --rule-email '^[a-zA-Z0-9._%+-]+@(qq)\.(com)$'
# 在默认规则下校验 user 和 email 信息
codeg gituser
# 在指定规则下校验 user 和 email 信息
codeg gituser --rule-email '^[a-zA-Z0-9._%+-]+@(qq)\.(com)$'
选项 | 描述 |
---|---|
-n, --name <name> | 设置 user.name |
-e, --email <email> | 设置 user.email |
--rule-name <regexp> | 设置 user.name 匹配规则(转义字符串) |
--rule-email <regexp> | 设置 user.email 匹配规则(转义字符串) |
- --rule-name 默认 :
[\s\S]*
- --rule-email 默认 :
^[a-zA-Z0-9._%+-]+@(163|qq|126|139|sina|sohu|yeah|gmail)\.(com|net)$
import { setGitUserName, setGitUserEmail, checkGitUserInfo } from "@codegenius/git-user-plugin";
(async () => {
await setGitUserName("OSpoon", "[\\s\\S]*");
await setGitUserEmail(
"[email protected]",
"^[a-zA-Z0-9._%+-]+@(gmail)\\.(com)$"
);
await checkGitUserInfo("[\\s\\S]*", "^[a-zA-Z0-9._%+-]+@(gmail)\\.(com)$");
})();