Git连接远程仓库

    git连接远程仓库一般都是以下两种方式。

一.http/https连接

    这种方式最简单,只需要在连接的时候输入正确的账号和密码即可。配合一些IDE使用的时候,如Android Studio,Idea等,会在pull/push的时候弹框输入账号和密码。如果不想每次都输入账号密码可以选择在git远程仓库的路径上加上工程所要推送的远程仓库的账号密码。例如:
    原url:https://xxx.com/authorName/projectName.git
    新url:https://username:password@xxx.com/authorName/projectName.git
    原url需要每次都输入账号密码,加上[账号]:[密码]@的新url后就不需要了。当然IDE也支持remember记住账号密码的方式方便pull/push操作。使用IDE记住账号密码方式时,如果不小心输错账号密码并且选择了remember,那么就会提示报错:unable to read askpass response from " "。这种情况参考在url加上[账号]:[密码]@方式。

二.SSH秘钥连接

    SSH(Secure Shell)是一种安全协议,在你的电脑与Git服务器进行通信时,我们使用SSH密钥(SSH Keys)认证的方式来保证通信安全。这种方式是目前使用最多的,配置简单,使用方便。mac创建步骤如下:

  1. 创建SSH秘钥
    1)终端输入 ssh-keygen -t rsa -C “username” (注:username为你git上的用户名,一般是你的邮箱地址)。
    2)确定后提示 Enter file in which to save the key : 这一步是设置rsa的文件名和路径,一般默认即可。
    3)确定后提示 Enter passphrase (empty for no passphrase) : 可以直接按两次回车键输入一个空的 passphrase;也可以选择输入一个 passphrase 口令,如果此时你输入了一个passphrase,请牢记,之后每次提交时都需要输入这个口令来确认。完成后即创建SSH秘钥成功。

  2. 找到SSH的公钥文件id_rsa.pub,拷贝内容
    在.ssh文件目录下可以看到新增的id_rsa文件和id_rsa.pub文件,其中id_rsa文件是私钥文件,切记私钥文件不可泄露。id_rsa.pub文件是公钥文件,拷贝内容。

  3. 在Git上配置SSH秘钥
    git远程仓库上配置的SSH秘钥其实就是你本地的公钥(id_rsa.pub文件)。配置SSH秘钥只需要输入标题和秘钥内容,标题随意填写,秘钥内容就是id_rsa.pub公钥文件的内容。配置完成后使用SSH秘钥连接就不需要使用账号密码了。

三.SSH秘钥注意事项

  1. 配置多个SSH秘钥
    当需要运行不同公司、不同平台等多个项目时,可能会需要配置多个SSH秘钥。当然使用同一个SSH秘钥也是可以的。配置多个SSH秘钥步骤和前面创建SSH秘钥步骤差不多,需要注意的有:
    1)终端输入 ssh-keygen -t rsa -C “username” (注:username需要和已经创建过的秘钥username不同)。
    2)确定后提示 Enter file in which to save the key : 这一步是设置rsa的文件名和路径,输入/Users/xxx/.ssh/id_rsa_new ,xxx是你电脑的用户名,id_rsa_new是新秘钥文件的文件名,这个名字是可以任你改变的。但一定要与已经存在的SSH秘钥文件名不相同。
    3)确定后提示 Enter passphrase (empty for no passphrase) : 可以直接按两次回车键输入一个空的 passphrase;也可以选择输入一个 passphrase 口令,如果此时你输入了一个passphrase,请牢记,之后每次提交时都需要输入这个口令来确认。完成后即创建SSH秘钥成功。
    4)配置config文件:因为有多个SSH秘钥文件,让系统识别它们就需要在电脑的.ssh目录下创建config文件,做如下相应的配置(以github和gitlab为例):
# github
Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_github
    
# gitlab
Host gitlab.com
    HostName gitlab.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_gitlab
    
注意:  host和hostname 为主机名
	  IdentityFile 填写文件的路径和生成的文件名(不是.pub的文件)

后面的步骤和前面SSH秘钥连接步骤一样,只需要到项目的相应平台去做SSH秘钥的相应添加就行了,添加的秘钥内容为本地对应的公钥文件内容。

  1. 更新SSH秘钥
    平台填写的秘钥内容为本地的公钥文件内容,公钥内容可以公布,私钥是不能泄露的。如果私钥文件泄露了,就需要更新SSH秘钥了,当然定时更新SSH秘钥也是一个很好的习惯。更新SSH秘钥其实就是创建一个新的SSH秘钥覆盖需要更新的秘钥。 新秘钥的username,id_rsa文件名和需要更新秘钥的username,id_rsa文件名一致即可。
  2. 使用SSH每次都要输入密码
    如果在创建SSH秘钥文件的这一步 Enter passphrase ,你设置了密码,那么使用SSH连接每次都要输入密码,解决思路有两种:
    1)去掉密码:重新创建一个没有密码的SSH秘钥覆盖有密码的SSH秘钥
    2)保存密码:ssh-add -K ~/.ssh/id_rsa (id_rsa是有密码的秘钥文件)
  3. 设置user.name和user.email
    1)设置全局user.name和user.email
    git config --global user.name “用户名”
    git config --global user.email “邮箱”
    2)设置项目user.name和user.email
    git config user.name “用户名”
    git config user.email “邮箱”
    如果项目没有单独设置user.name和user.email,默认使用全局的user.name和user.email。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值