git 访问方式浅谈

小小总结下git的访问方式,留爪.

git访问方式简介

  1. https:每次fetch/push/pull都需要输入username & password
  2. ssh:通过ssh-keygen生成的公钥 & 私钥进行管理
  3. svn:通过git服务商附加的svn服务提供

通过https访问git

通过拷贝https地址,使用git clone即可,
不过比较繁琐的是每次fetch/push/pull等操作都需要输入username&password,当然也可以通过设置缓存来临时记住密码或设置持久化存储来永久记住密码

#缓存密码,据说默认有效期15分钟
git config --global credential.helper cache 

#自定义缓存有效期,单位:毫秒
git config credential.helper 'cache --timeout=3600'

#持久化,永久记住密码
git config --global credential.helper store 

通过ssh访问git(gitee为例)

gitee 为例

#1. 生成公钥和私钥
ssh-keygen -t rsa -C your@email.com -f id_rsa
#会提示你2次输入密码,一般为空,直接回车即可
#参数:
#-t=加密类型
#-f=密钥文件名(可以包含路径),避免多密钥情况下重名覆盖导致突发情况,也方便管理

#2. 查看生成的公钥和私钥
cd ~/.ssh/
ll
#可以看到多了2个文件,一个私钥和一个`.pub`公钥

## 3. 启用本地ssh密钥管理服务,并添加私钥
#启用ssh密钥管理服务,后台运行
eval "$(ssh-agent -s)"
##Agent pid xxx 启用成功的话,会返回一个进程号

##添加指定私钥
ssh-add ~/.ssh/id_rsa
#添加成功的话,返回:Identity added:id_rsa

#4. 拷贝公钥内容到,并添加到git远程库,注意拷贝内容的完整性,不要多个空格或少个空格什么的(~~这步导致后面的失败居多~~)
clip < id_rsa.pub #使用clip拷贝更6哦

#5. 测试git远程库上的公钥有效性
ssh -T git@git.oschina.net
#若返回:Welcome to Git@OSC, yourname!则证明添加成功.

#6. 然后通过git的ssh地址操作,就不用在输入用户名和密码了.

通过svn访问git

需要服务商提供附加的svn服务,一般需要手动开启该功能,gitee就支持svn.

原文地址:https://www.cnblogs.com/taadis/p/12132769.html