git 配置多个用户,每个用户对应多个仓库

本文详细介绍了如何在Git中配置多个用户,每个用户对应多个仓库,包括生成SSH密钥、配置域、配置公钥以及进行本地测试。此外,还讲解了仓库组配置,使得在不同的项目文件夹下可以使用不同的用户身份。

多用户配置

生成ssh密钥

Linux & MaxOS 进入 ~/.ssh/ 文件夹
Windows 进入 C:\user\%username%.ssh 文件夹
没有则创建
执行:

ssh-keygen -t rsa -C "your_email@example.com"

输入生成密钥的文件文件名,默认为id_rsa
这里填写为github_rsa

之后会在文件夹下生成两个文件,一个不带.pub的github_rsa,一个带.pub的github_rsa.pub

重复以上步骤生成第二个密钥,命名为:gitee_rsa

配置域

在文件夹下创建config文件

# --- 第一个域 ---
# --- Host 标记,选填 ---
Host github
# --- 域名,必填 ---
    Hostname github.com
# --- 用户,也就是邮箱,必填 ---
    User your_work_email@example.com
# --- 优先认证方式:公钥,选填 ---
    PreferredAuthentications publickey
# --- 密钥文件,必填 相对路径和绝对路径都可以 ---
    IdentityFile ~/.ssh/github_rsa
# --- 其他配置项 ---
    UseKeychain yes
    AddKeysToAgent yes

# --- 第二个域 ---
# --- Host 标记,选填 ---
Host git
### 如何在Git中为不同项目配置多个用户账户 为了实现同一台机器上针对不同的 Git 远程仓库使用不同的用户身份,可以通过以下方法完成: #### 方法一:基于项目的本地配置 对于每一个需要独立用户的项目,在该项目的目录下分别设置 `user.name` 和 `user.email` 属性。这会使得这些属性仅对该特定项目生效。 ```bash cd /path/to/your/repo1 git config --local user.name "User One" git config --local user.email "user.one@example.com" cd /path/to/another/repo2 git config --local user.name "User Two" git config --local user.email "user.two@example.com" ``` 这种方法适用于不需要频繁切换账号的情况,并且能够确保每次提交都关联到正确的开发者信息[^2]。 #### 方法二:通过SSH密钥区分多个GitHub账户 当存在两个或以上的 GitHub 账号时,可以借助 SSH 密钥来管理它们之间的访问权限。具体操作如下: 1. **生成新的SSH Key** 对于第二个或者更多的 GitHub 用户名,创建专属的 SSH key 文件。 ```bash ssh-keygen -t rsa -C "second.account@example.com" -f ~/.ssh/id_rsa_second_account ``` 2. **修改SSH配置文件** 编辑 `~/.ssh/config` 文件,添加每组账户对应的 Host 条目及其路径指向相应的私钥位置。 ```plaintext # Default GitHub account Host github.com HostName github.com User git IdentityFile ~/.ssh/id_rsa # Second GitHub account Host github-second-account HostName github.com User git IdentityFile ~/.ssh/id_rsa_second_account ``` 3. **更新远程URL地址** 将原本默认形式的 URL 替换为带有自定义主机名称的形式,从而触发匹配上面设定好的规则。 ```bash cd /path/to/project_for_second_account/ git remote set-url origin git@github-second-account:username/repository.git ``` 这样做的好处是可以让系统自动识别应该采用哪套凭证来进行认证过程[^3]。 以上两种方式都可以满足需求,前者适合简单的场景而后者更适合复杂环境下多账号共存的情形。 ### 注意事项 - 如果忘记设置了某项参数,则可通过命令查看当前状态下的全局以及局部级别的配置情况:`git config list`. - 当遇到推送失败等问题时,请确认公钥已上传至目标平台并正确绑定到了相应帐户之下.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值