多账号下git自动切号
同一台电脑 → 公司内部 GitLab账号A 个人 GitHub账号B提交、push 绝对不混、不串、不报错。终极方案按目录自动切换 Git 账号一劳永逸原理你把项目分成两个大文件夹~/work/ # 放公司 GitLab 项目账号A ~/personal/ # 放个人 GitHub 项目账号B然后让 Git自动根据目录切换用户名/邮箱/密钥。一步一步照做100% 不串号1. 先建两个目录必须mkdir-p~/workmkdir-p~/personal2. 编辑 ~/.gitconfig全局配置nano~/.gitconfig写入下面内容直接复制[includeIf gitdir:~/work/] path ~/.gitconfig-work [includeIf gitdir:~/personal/] path ~/.gitconfig-personal保存退出CtrlO → 回车 → CtrlX3. 创建公司配置nano~/.gitconfig-work写入[user] name 你的公司名字 email 你的公司邮箱Axxx.com [core] autocrlf input4. 创建个人配置nano~/.gitconfig-personal写入[user] name 你的GitHub名字 email 你的GitHub邮箱Bxxx.com [core] autocrlf input5. 以后所有项目必须这样放✅ 公司 GitLab 项目 → 放在~/work/项目1 ~/work/项目2✅ 个人 GitHub 项目 → 放在~/personal/我的博客 ~/personal/我的工具6. 测试是否生效非常重要进入公司目录cd~/workgitconfig user.email应该显示公司邮箱进入个人目录cd~/personalgitconfig user.email应该显示个人邮箱只要目录放对 → 永远不会串号如果你还需要不同的 SSH 密钥公司/个人分开我也给你最稳配置1. 生成两个密钥# 公司密钥ssh-keygen-ted25519-C公司邮箱-f~/.ssh/id_work# 个人密钥ssh-keygen-ted25519-C个人邮箱-f~/.ssh/id_personal2. 编辑 ~/.ssh/confignano~/.ssh/config写入Host gitlab.你的公司域名.com User git IdentityFile ~/.ssh/id_work Host github.com User git IdentityFile ~/.ssh/id_personal最终效果你以后完全不用管账号进~/work→ 自动用公司账号进~/personal→ 自动用个人账号提交、clone、push 全部自动匹配永远不会串号总结按目录隔离work / personal自动切换账号includeIf 配置自动切换密钥ssh config 配置这是多账号 Git 最标准、最安全、最通用的方案。