You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于文件夹路径配置Git,仅让特定目录下的GitHub提交通过SSH签名获取Verified徽章

如何基于文件夹路径配置Git,仅让特定目录下的GitHub提交通过SSH签名获取Verified徽章

Verified badge github

我来帮你搞定这个需求!你想要的是基于文件夹路径自动切换Git配置,让工作目录用工作邮箱且不签名提交,个人目录用GitHub绑定邮箱并通过SSH签名拿到Verified徽章,完全不用手动挨个配置每个仓库对吧?这可以通过Git的includeIf特性轻松实现,下面一步步来操作:

1. 准备前提

首先确保你已经生成了用于GitHub签名的SSH密钥,并且已经把公钥添加到你的GitHub账户中了——这是拿到Verified徽章的基础哦。

2. 编辑全局Git配置文件

打开你的全局Git配置文件(一般是~/.gitconfig,Windows用户路径是C:\Users\<你的用户名>\.gitconfig),添加以下内容:

[user]
    # 全局兜底配置,随便填个默认值就行,或者留空也可
    name = 你的全名
    email = default@example.com

# 匹配~/work下所有子目录的Git仓库,加载工作配置
[includeIf "gitdir:~/work/**"]
    path = ~/.gitconfig-work

# 匹配~/perso下所有子目录的Git仓库,加载个人GitHub配置
[includeIf "gitdir:~/perso/**"]
    path = ~/.gitconfig-perso

3. 创建工作目录专属配置文件

新建~/.gitconfig-work文件,填入工作环境的配置:

[user]
    name = 你的工作全名
    email = 你的工作邮箱@company.com
# 工作仓库不需要签名,所以不用加签名相关配置

4. 创建个人GitHub专属配置文件

新建~/.gitconfig-perso文件,这里重点配置SSH签名:

[user]
    name = 你的GitHub显示全名
    email = 你的GitHub绑定邮箱@example.com
[commit]
    # 开启提交签名
    gpgSign = true
[gpg]
    # 指定用SSH密钥签名(而不是传统GPG密钥)
    format = ssh
[user]
    # 填你的SSH公钥指纹,或者公钥文件路径
    # 指纹可以用命令获取:ssh-keygen -lf ~/.ssh/id_ed25519.pub
    signingkey = ~/.ssh/id_ed25519.pub

5. 验证配置是否生效

进入~/work下的任意工作仓库,运行:

git config --list --show-origin

检查输出里的user.email是不是你的工作邮箱,且没有commit.gpgsign相关配置。

再进入~/perso下的任意个人GitHub仓库,同样运行上面的命令,确认:

  • user.email是你的GitHub绑定邮箱
  • commit.gpgsign的值是true
  • gpg.format的值是ssh

这样配置完成后,你在对应目录下的仓库提交时,Git会自动套用对应的配置,个人仓库的提交就会被GitHub标记为Verified啦!

备注:内容来源于stack exchange,提问作者ZecKa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 11:14:35