zhangrui.i
zhangrui.i
发布于 2025-03-04 / 15 阅读
0
0

git配置多账号

Git 可以同时配置多个 Gitee 账号,但需要针对不同账号进行隔离配置。以下是具体实现方法:


方法一:基于 SSH 协议(推荐)

1. 生成多个 SSH 密钥对

为每个 Gitee 账号生成独立的密钥:

# 生成第一个账号的密钥(如:work)
ssh-keygen -t ed25519 -C "work@example.com" -f ~/.ssh/gitee_work

# 生成第二个账号的密钥(如:personal)
ssh-keygen -t ed25519 -C "personal@example.com" -f ~/.ssh/gitee_personal

2. 配置 SSH 的 config 文件

编辑 ~/.ssh/config 文件,为每个账号定义别名和密钥路径:

# 工作账号
Host gitee-work  # 自定义别名(用于替换 gitee.com)
    HostName gitee.com
    IdentityFile ~/.ssh/gitee_work
    User git  # 固定为 git

# 个人账号
Host gitee-personal  # 自定义别名
    HostName gitee.com
    IdentityFile ~/.ssh/gitee_personal
    User git

3. 将公钥添加到 Gitee 账号

  • 分别将 gitee_work.pubgitee_personal.pub 添加到对应 Gitee 账号的 SSH 公钥设置中。

4. 克隆仓库时使用别名

克隆仓库时替换 URL 中的 gitee.com 为自定义别名:

# 克隆工作账号的仓库
git clone git@gitee-work:work-username/repo.git

# 克隆个人账号的仓库
git clone git@gitee-personal:personal-username/repo.git

5. 配置仓库本地用户信息

进入每个仓库目录,单独设置用户名和邮箱(覆盖全局配置):

cd path/to/repo
git config user.name "Work Name"
git config user.email "work@example.com"

方法二:基于 HTTPS 协议

1. 配置仓库本地凭据

进入仓库目录,单独设置用户名和邮箱:

cd path/to/repo
git config user.name "Personal Name"
git config user.email "personal@example.com"

2. 使用凭据管理器

Git 会为每个 HTTPS URL 缓存凭据。不同账号的仓库使用不同的远程 URL:

git remote set-url origin https://personal:password@gitee.com/personal-username/repo.git

但更推荐使用 Git 凭据管理器(如 git-credential-manager)自动处理。


验证配置

1. 测试 SSH 连接

ssh -T git@gitee-work  # 应返回工作账号的用户名
ssh -T git@gitee-personal  # 应返回个人账号的用户名

2. 检查提交信息

在仓库中执行:

git config user.name
git config user.email

确保输出与当前账号匹配。


常见问题

  • 权限错误:确保 SSH 密钥文件权限为 600chmod 600 ~/.ssh/*)。
  • 全局配置覆盖:避免使用 git config --global,除非需要统一配置。
  • URL 格式错误:克隆或远程 URL 必须使用自定义别名(如 git@gitee-work)。

通过以上步骤,你可以在一台机器上同时管理多个 Gitee 账号,且提交记录和权限隔离互不影响。


评论