git 配置多账户

 

       先把问题抛出来:我们在使用git提交代码的时候都是一台电脑一个git账户提交的代码,但是如果想有多个git账户,比如我想把部分代码提交到自己的仓库上,还有另外一个公司git账户提交代码到公有的仓库上。这种情况怎么配置就是接下来要说的。

       1.首先创建2个git账户,有2个的话就没必要创建了,然后生成对应的ssh公钥,私钥,ssh生成公钥,私钥的时候会有默认的名字,添加-f参数指定生成公钥私钥的名字。windows就直接先下载gitBash,

       简单的就直接:ssh-****** -o -t rsa -C "[email protected]" -b 4096 -f "要生成的名字"

       举个例子:ssh-****** -o -t rsa -C "[email protected]" -b 4096 -f "blb1"

       详细的信息就直接看这个文档:https://gitlab.com/help/ssh/README#generating-a-new-ssh-key-pair

       2.找到对应的ssh,一般目录都在:‘C:\Users\用户名\.ssh\’ 下面,不在的话就是‘C:\Users\用户名\’下面,.ssh是隐藏文件夹,找windows资源管理打开这个隐藏文件夹,不会的话百度找怎么打开隐藏文件夹。然后复制到.ssh文件夹里面,如下图:

git 配置多账户

      3.一般是没有config文件的,上图直接全部截出来了,接下来把公钥复制到对应的ssh账户上,.pub后缀是公钥,对应名字无后缀的是私钥。

      4.接下来配置config文件,config文件是配置要访问的东西和账户的,记事本打开后,配置内容如下:

# gitlab
    Host gitlab1
    HostName gitlab.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/lyjgitlab-rsa

# gitlab
    Host gitlab2
    HostName gitlab.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa
      这里面host可以起个自己能认出来的名字就行,HostName写服务器域名,IdentityFile就是对应的私钥了。

      5.然后就是配置本地项目的远程仓库了:

git 配置多账户

      这是一个完整的android项目,具体什么文件不解释了,每次调用git init的时候都会在本地生成一个文件夹.git,这个文件夹里面保存的有配置信息,打开这个.git文件夹,里面也有一个config文件,记事本打开这个config文件,里面大概如下:

git 配置多账户

     里面有个url就是配置的远程仓库地址,这里把原来中间的gitlab.com替换为gitlab2后,在拉远程代码的时候会先根据.ssh文件夹下的config文件找到对应的完整url,找到后替换为:[email protected]:knxDevelopers/hardwareCmdDemoTest.git,然后回根据.ssh文件夹下的config文件中的配置找需要哪个私钥,然后提交代码的时候输入密码就行了。

     这样就可以一台电脑配置多个git账户提交不同仓库的代码了。