window下git多账户管理

如何配置一个git账户(还没有设置过git账户)

基本流程:设置git用户名和邮箱–>生成SSH Key–>添加公钥到git服务器(github或gitlab等)

设置git用户名和邮箱

git config --global user.name "用户名"
git config --global user.email "邮箱"

注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址

生成SSH Key

ssh-keygen -t rsa -C "邮箱"

然后一路回车,使用默认值即可,在用户主目录.ssh目录下,会生成id_rsa和id_rsa.pub两个文件。

  • id_rsa(私钥)
  • id_rsa.pub(公钥)

添加公钥到git服务器

id_rsa.pub里面的内容添加到SSH Key中

如何配置多个git账户

暂时配了两个,多个重复以下操作就好了O(∩_∩)O哈哈~
问题情景:公司代码托管工具也是git然后有自己的gitlab服务器,如果沿用上面的配置

git config --global user.name "用户名"
git config --global user.email "邮箱"

务必会造成个人的git与公司的git不能同时存在,所以让我们来看看同一台机器多个git如何配置

假设第一次设置的是账户A,第二次设置的是账户B,以下用A,B来代称。

基本流程:生成新的SSH Key->配置config文件->添加公钥到另git服务器

生成新的SSH Key

ssh-keygen -t rsa -C "B邮箱"

注意:这次不能一直回车生成默认文件,因为文件同名会覆盖,假设生成的文件名为

  • B_id_rsa(私钥)
  • B_id_rsa.pub(公钥)

配置config文件

windows下新建一个txt文本,然后将名字后缀一起改成config

配置如下

# gitlab
Host git.A.com
    HostName git.A.com  //这里填账户A的git网址
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa //第一次的私钥名字(账户A的私钥名字)
    User xxx //用户名

# github
Host git.B.com
    HostName git.B.com //这里填账户B的git网址
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/B_id_rsa //账户B的私钥名字
    User xxx //用户名

git配置解释

每个账号单独配置一个Host,每个Host要取一个别名,每个Host主要配置HostName和IdentityFile两个属性即可

Host的名字可以取为自己喜欢的名字,不过这个会影响git相关命令,例如:
Host mygithub 这样定义的话,命令如下,即git@后面紧跟的名字改为mygithub
git clone git@mygithub:PopFisher/AndroidRotateAnim.git

HostName           //这个是真实的域名地址
IdentityFile         // 这里是id_rsa的地址
PreferredAuthentications   //配置登录时用什么权限认证--可设为publickey,password,publickey,keyboard-interactive等
User            // 配置使用用户名

参考资料

    原文作者:devman
    原文地址: https://segmentfault.com/a/1190000012432367
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞