1、查看git版本
git --version #验证git是否安装成功,输出版本号就代表安装成功
2、配置全局用户名和邮箱
安装完成有配置一下全局的用户名和邮箱,输入如下命令:
git config --global user.name "goobos" git config --global user.email "goobos@demo.com"
使用如下命令可以取消全局设置:
git config --global --unset user.name git config --global --unset user.email
3、生成SSH Key
问题说明:
当有多个git账号的时候,比如一个github,用于自己进行一些开发活动,再来一个gitlab,一般是公司内部的git。这两者你的邮箱如果不同的话,就会涉及到一个问题,生成第二个git的key的时候会覆盖第一个的key,导致必然有一个用不了。或者同是github上,多用户登录。
解决方法
我们可以在【~/.ssh】目录下新建一个config文件配置一下,就可以解决问题
例如:
# gitlab Host git.demo.com HostName git.demo.com #换成自己git服务器地址 PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_gitdemo User goobos #前面定义的用户名 # github Host github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_github User goobos #前面定义的用户名
配置文件说明:
每个账号单独配置一个Host
,每个Host
要取一个别名,每个Host
主要配置HostName
和IdentityFile
两个属性即可Host
的名字可以取为自己喜欢的名字,不过这个会影响git相关命令
例如:
Host goobosgit
这样定义的话,命令如下,即git@
后面紧跟的名字改为goobosgit
git clone git@goobosgit:goobos/demo.git
就相当于你配置的HostName
真正的域名,映射成了Host
后面的配置的名字
HostName #这个是真实的域名地址 IdentityFile #这里是id_rsa的地址 PreferredAuthentications #配置登录时用什么权限认证--可设置publickey,password publickey,keyboard-interactive等 User #配置使用用户名
具体步骤:
1)、生成用户目录下的.ssh文件夹下运行生成秘钥命令
#生成demo服务器秘钥 ssh-keygen -t rsa -C "goobos@demo.com" 在输入文件名及路径的时候,生成的密钥命名为【id_rsa_gitdemo】 #生成github服务器秘钥 ssh-keygen -t rsa -C "goobos@github.com" 在输入文件名及路径的时候,生成的密钥命名为【id_rsa_github】
秘钥生成后会在~/.ssh下生成:id_rsa_gitdemo、id_rsa_gitdemo.pub;id_rsa_github、id_rsa_github.pub 4个文件.pub是对应的公钥,需要上传到github或你自己服务器上去的
2)、执行ssh-agent命令
ssh-agent就是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管,其他程序需要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程
$ ssh-agent -s $ ssh-add ~/.ssh/id_rsa_gitdemo $ ssh-add ~/.ssh/id_rsa_github
如果出现“Could not open a connection to your authentication agent”错误提示
$ ps aux | grep ssh $ kill -9 线程号 $ exec ssh-agent bash $ eval ssh-agent -s #然后再执行 $ ssh-add ~/.ssh/id_rsa_gitdemo $ ssh-add ~/.ssh/id_rsa_github
3)、添加公钥到远程git服务器
4)、测试是否配置成功
$ ssh -T git@github.com $ ssh -T git@demo.com
如果是腾讯的工蜂git需要额外设置
Host git.code.tencent.com User goobos IdentityFile ~/.ssh/id_rsa_tencent HostKeyAlgorithms=+ssh-rsa PubkeyAcceptedKeyTypes +ssh-rsa