Git 配置区分用户&目录
- Published on
Git配置不同用户主要通过局部配置(针对单个项目)、includeIf(按目录自动切换)或SSH Key(多平台账号)来实现。常用方式是在项目根目录使用 git config user.name/email 覆盖全局设置,或在 .gitconfig 中使用 includeIf 针对特定文件夹目录配置不同的用户身份。
单项目单独配置(局部配置)
适用于不同项目使用不同账号,这是最直接的方法。
进入项目根目录。
运行命令(不加 --global):
git config user.name "你的用户名" git config user.email "你的邮箱"此配置仅对当前项目有效,存储在 .git/config。
按目录自动切换(includeIf - 推荐)
适用于工作项目和个人项目分开存放,实现自动化配置。
在用户主目录创建不同的 .gitconfig 文件(例如 .gitconfig-work 和 .gitconfig-personal)。
编辑全局文件 ~/.gitconfig,添加如下内容:
# 默认配置 [user] name = Personal email = personal@email.com # 工作项目目录使用另一个配置文件 [includeIf "gitdir:~/work/"] path = ~/.gitconfig-work在
~/.gitconfig-work中写入工作配置:[user] name = WorkName email = work@company.com
多平台SSH密钥(针对GitHub/GitLab/Gitee)
适用于同一个电脑登录多个账号,需生成不同SSH Key。
生成不同的SSH Key:
ssh-keygen -t rsa -C "user1@email.com" -f ~/.ssh/id_rsa_personal ssh-keygen -t rsa -C "user2@email.com" -f ~/.ssh/id_rsa_work配置
~/.ssh/config:# Personal Host github.com HostName github.com User git IdentityFile ~/.ssh/id_rsa_personal # Work Host gitlab.work.com HostName gitlab.work.com User git IdentityFile ~/.ssh/id_rsa_work上传公钥到相应的平台(
~/.ssh/id_rsa_xxx.pub)
查看与修改
- 查看当前项目配置:
git config --list。 - 查看全局配置:
git config --global --list。 - 修改全局用户名:
git config --global user.name "New Name"