如何配置一个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 // 配置使用用户名