公司的也在用 git,但是账号和地址肯定都不同,需要配置两个不同的提交环境。
生成两个 Key
生成第一个 Key
如果电脑上已经在用 Git 了就无需重新生成 key,用当前的就可以。key 保存在~/.ssh
文件夹内。
如果第一次使用,就使用以下命令重新生成:
➜ .ssh ssh-keygen -t rsa -C home_pc
Generating public/private rsa key pair.
Enter file in which to save the key (/home/dominic/.ssh/id_rsa): id_rsa_pc
home_pc
就是个备注名,假设我们这个 key 是平时捣腾 GitHub 玩,用来和 GitHub 同步用的,id_rsa_pc
是生成的文件名,打开id_rsa_pc.pub
可以看到生成的 key 最后就是备注名(如下)。
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABR/Fyj7Pz+e+/////////////////ZbdPGtHB86fLQYh/uR+TKcCERedrDKzGPdVt8= home_pc
配置 GitHub SSH
路径为:
Github-头像-settings-SSH and GPG keys-New SSH key
测试连通
ssh -T git@github.com
生成第二 Key
这个 key 就打算用来和公司代码同步用,所以备注名换成了work_ubuntu
,文件名也换成了id_rsa_work
。
➜ .ssh ssh-keygen -t rsa -C work_ubuntu
Generating public/private rsa key pair.
Enter file in which to save the key (/home/dominic/.ssh/id_rsa): id_rsa_work
配置公司 SSH
和 GitHub 类似,根据自己公司使用的平台设置。
配置本地账户
因为本地的代码仓库可能是从 GitHub 下载的,也有从公司仓库下载的。那么提交代码时就需要为仓库配置指定的用户名和邮箱。以前只有一个 GitHub,所以配置时使用的是-global
参数,任何一个仓库都是配置的相同的用户名与邮箱,而现在需要区分。
取消全局配置
# 取消全局 用户名/邮箱 配置
git config --global --unset user.name
git config --global --unset user.email
单独配置代码仓
进入项目目录,有.git
目录的那一级。
# 单独设置每个repo 用户名/邮箱
git config user.email “xxxx@xx.com”
git config user.name “xxxx”