如何为指定目录下的所有Git仓库统一设置用户名和邮箱?
方案1:Git原生条件包含配置(推荐)
Git 2.13及以上版本原生支持条件包含功能,不需要在workRepos目录初始化Git仓库,就能实现目录级配置覆盖,配置逻辑非常简单,不会过度复杂化全局配置:
- 在
workRepos目录下新建专属配置文件.gitconfig-work,写入如下内容:
[user] email = rollie@companyname.com # 可补充对应工作场景的user.name配置
- 编辑全局Git配置文件(默认路径为
~/.gitconfig),在末尾添加如下规则:
[includeIf "gitdir:~/repos/workRepos/"] path = ~/repos/workRepos/.gitconfig-work
注意:路径末尾的斜杠不可省略,匹配规则会自动覆盖该目录下所有子Git仓库的配置,优先级高于全局配置,不会影响
workRepos外的个人项目。如果后续迁移了workRepos的位置,只需要修改全局配置里的对应路径即可,仅需改动一行。
方案2:批量配置子仓库本地规则
如果你完全不想修改全局配置,可以执行单行命令批量为workRepos下所有已存在的Git仓库设置本地邮箱:
- 首先进入
workRepos目录 - 执行命令:
find . -type d -name ".git" -execdir git config user.email "rollie@companyname.com" \;
该命令会自动遍历所有子目录中的Git仓库,逐个写入本地配置,后续新增工作仓库时,新增后重新执行一次该命令即可。
内容的提问来源于stack exchange,提问作者Rollie
相关产品推荐
相关产品推荐

