多账号下git自动切号

同一台电脑 → 公司内部 GitLab(账号A) + 个人 GitHub(账号B)

提交、push 绝对不混、不串、不报错。

终极方案:按目录自动切换 Git 账号(一劳永逸)

原理

你把项目分成两个大文件夹:

复制代码
~/work/     # 放公司 GitLab 项目(账号A)
~/personal/ # 放个人 GitHub 项目(账号B)

然后让 Git 自动根据目录切换用户名/邮箱/密钥。


一步一步照做(100% 不串号)

1. 先建两个目录(必须)

bash 复制代码
mkdir -p ~/work
mkdir -p ~/personal

2. 编辑 ~/.gitconfig(全局配置)

bash 复制代码
nano ~/.gitconfig

写入下面内容 直接复制:

gitconfig 复制代码
[includeIf "gitdir:~/work/"]
    path = ~/.gitconfig-work

[includeIf "gitdir:~/personal/"]
    path = ~/.gitconfig-personal

保存退出:Ctrl+O → 回车 → Ctrl+X


3. 创建公司配置

bash 复制代码
nano ~/.gitconfig-work

写入:

gitconfig 复制代码
[user]
    name = 你的公司名字
    email = 你的公司邮箱A@xxx.com
[core]
    autocrlf = input

4. 创建个人配置

bash 复制代码
nano ~/.gitconfig-personal

写入:

gitconfig 复制代码
[user]
    name = 你的GitHub名字
    email = 你的GitHub邮箱B@xxx.com
[core]
    autocrlf = input

5. 以后所有项目必须这样放

✅ 公司 GitLab 项目 → 放在

复制代码
~/work/项目1
~/work/项目2

✅ 个人 GitHub 项目 → 放在

复制代码
~/personal/我的博客
~/personal/我的工具

6. 测试是否生效(非常重要)

进入公司目录:

bash 复制代码
cd ~/work
git config user.email

应该显示 公司邮箱

进入个人目录:

bash 复制代码
cd ~/personal
git config user.email

应该显示 个人邮箱

只要目录放对 → 永远不会串号!


如果你还需要不同的 SSH 密钥(公司/个人分开)

我也给你最稳配置:

1. 生成两个密钥

bash 复制代码
# 公司密钥
ssh-keygen -t ed25519 -C "公司邮箱" -f ~/.ssh/id_work

# 个人密钥
ssh-keygen -t ed25519 -C "个人邮箱" -f ~/.ssh/id_personal

2. 编辑 ~/.ssh/config

bash 复制代码
nano ~/.ssh/config

写入:

ssh 复制代码
Host gitlab.你的公司域名.com
  User git
  IdentityFile ~/.ssh/id_work

Host github.com
  User git
  IdentityFile ~/.ssh/id_personal

最终效果(你以后完全不用管账号)

  • 进 ~/work → 自动用公司账号
  • 进 ~/personal → 自动用个人账号
  • 提交、clone、push 全部自动匹配
  • 永远不会串号

总结

  1. 按目录隔离:work / personal
  2. 自动切换账号:includeIf 配置
  3. 自动切换密钥:ssh config 配置

这是 多账号 Git 最标准、最安全、最通用 的方案。

相关推荐
鶴哥只手遮天6 小时前
第 8 章 工作区与检出:unpack-trees 与并行 checkout
git
xing-xing7 小时前
git 相关命令总结
git
A-刘晨阳9 小时前
GitLab + ArgoCD 实现 Kubernetes GitOps 自动化部署
运维·人工智能·git·kubernetes·自动化·云计算·argocd
ControlRookie20 小时前
SyncBridge:一个 CODESYS 工程与 AI 之间工程师级的同步工具
git·ai编程·codesys·工业软件·controlrookie
鬼手点金1 天前
opencode-性能优化建议
java·人工智能·git·自动化·nanogpt
网络毒刘1 天前
开源 Aider 工作流实战:Git 提交驱动的 AI 结对,与 Cursor 何时互补
git·ai编程·cursor·aider
HRTOS1 天前
HRTOS 4.0 将长期维护:为什么版本号不再频繁变化
经验分享·git·单片机·51单片机
驭渊的小故事2 天前
linux 基础命令 + git 仓库创建和配置命令
linux·git
行者-全栈开发2 天前
华为云码道 CodeArts 实测:让 AI 用 Rust 写一个 Git 仓库健康度体检台「仓衡」
git·rust·tauri·桌面应用·ai 编程·华为云码道·codearts 代码智能体
挖掘狂人4 天前
Git 从 0 到 1:用一个小项目走完 add / commit / reset / merge / rebase / push
git·后端·github