共用服务器多git账号配置

2021-12-17  本文已影响0人  可不期诺Cappuccino

应用场景:

一台共用服务器上多人共同使用,多个git工程每个工程的地址和账号密码又是不一样。
使用global 此时在/home/usrname下.gitconfig 会生成设置全局的git用户名及邮箱账号

git config --global user.name xxx
git config --global user.email xxx

如下命令可谓单个工程设置用户名及邮箱账号,存放在工程目录下.git/config文件中

git config user.name xxx
git config  user.email xxx

使用方法

1.首先为不同的工程配置不同的Git账号

 git config user.name "A"
 git config user.email "A@mail.com"

注意:这里git config命令没有带—global,表示这是一个局部的设置,也就是这个用户是当前项目的,而不是全局的。
2.为不同的用户生成SSH密钥
一般的Git服务器为了安全,都会需要我们提供一个安全的SSH密钥,默认情况下,生成密钥的文件名都是一样的,但是不同的用户,必须设置不同文件名的密钥文件,否则会发生覆盖。密钥生成后,添加到服务端(如Github)

 ssh-keygen -t rsa -C “A@mail.com”

密钥存放在用户目录下.ssh路径下。

  1. SSH多账户配置
    在生成密钥的.ssh目录下,新建一个config文件,配置多账户规范,举个样例:
#github ontheroadtomine@gmail.com
host github.com  #别名,随便定 后面配置地址有用
    Hostname github.com #要连接的服务器
    User ontheroadtomine #用户名
    IdentityFile ~/.ssh/id_rsa  #密钥文件的地址,注意是私钥

#github softgeek@163.com
host lapisy #别名,随便定
    Hostname github.com
    User lapisy
    IdentityFile ~/.ssh/lapisy_id_rsa
  1. 增加新的私钥
    使用ssh的ssh-add命令将密钥添加到 ssh-agent 的高速缓存中,这样在当前会话中就不需要再次输入密码了 。
//A账户的私钥
$ ssh-add ~/.ssh/id_rsa

//B账户的私钥

$ ssh-add ~/.ssh/lapisy_id_rsa

添加完后,可以使用ssh-add来查看密钥列表

  1. 修改push的地址
    默认情况下,我们项目下的.git目录下,config文件的内容:
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[user]
    email = softgeek@163.com
    name = lapisy
[remote "origin"]
    url = git@github.com:sample.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master

其中的remore地址是url = git@github.com:sample.git,这时候,我们需要修改跟密钥对应的地址,上面在配置ssh时,为每个Hostname配置了一个host的别名,这时候,我们就不能使用原来的Hostname来提交了,要用别名来代替Hostname。
###############

上一篇 下一篇

猜你喜欢

热点阅读