本地仓库和远程仓库通讯的两种方式:https和ssh
1.使用https通信:
- 公有仓库,用户B具有仓库A的克隆(只读)权限,没有push(修改)等权限;克隆时,用户B要输入自己的用户和密码进行身份识别(登录网站的用户名和密码);
- 私有仓库,非仓库拥有者(管理者、开发者等)没有权限进行访问(无法clone,push,pull等权限);输入用户B的用户名和密码后,报错如下:
remote: longelong: Incorrect username or password (access token)
fatal: Authentication failed for 'https://gitee.com/machel_du/learn_js.git/'
使用https通信的文件中的.git目录下的config文件中:
![2e2564445cd61e36f566ba4db5ad10e6.png](https://img-blog.csdnimg.cn/img_convert/2e2564445cd61e36f566ba4db5ad10e6.png)
2.使用ssh通信:
ssh协议就相当于是加密后的一种身份识别机制,相当于接头暗号。详情https://www.jianshu.com/p/cab7e436a7aa;
可以避免使用https通信带来的在clone和push等仓库操作时,要输入用户名和密码的多余操作;
用ssh通信的文件中的.git目录下的config文件中:
![cfbbad8225c5bc2b8500fcb73ea73754.png](https://img-blog.csdnimg.cn/img_convert/cfbbad8225c5bc2b8500fcb73ea73754.png)
2.1个人ssh
![4d76d26aa7eebe99931470413280d43f.png](https://img-blog.csdnimg.cn/img_convert/4d76d26aa7eebe99931470413280d43f.png)
⭕说明:当在个人ssh中添加了某台机器生成的ssh key(公钥),这该机器就有这个改用户所有仓库下的所有访问权利;
2.2仓库ssh
![5c8dae411c14a900c3a88b6a304f4ee9.png](https://img-blog.csdnimg.cn/img_convert/5c8dae411c14a900c3a88b6a304f4ee9.png)
⭕说明:给某个仓库添加某机器生成的公钥后,改机器具有clone和pull该仓库的权利,但是没有push的权利。
2.3操作ssh公钥命令(git bash);
1.生成ssh公钥:
ssh-keygen -t rsa -C “xxxxx@xxxxx.com”
![9ef4bbef0d7535c6712f4c3f2bcbf507.png](https://img-blog.csdnimg.cn/img_convert/9ef4bbef0d7535c6712f4c3f2bcbf507.png)
2.查看ssh公钥:
cat ~/.ssh/id_rsa.pub
如何区分我们使用的https方式还是ssh方式跟git server交互的呢?在git bash里边输入 本地就会生成以ssh-rsa 开头,以账号的注册邮箱结尾的公钥,然后就可以添加到对应账号的个人公钥或者仓库公钥中去;
3.查看是否添加成功;
ssh -T git@gitee.com
3.使用小技巧
- 如何区分我们使用的https方式还是ssh方式跟git server交互的呢?在git bash里边输入 :
git remote -v
![6e8bec87546ea76863fbd19fef0e169c.png](https://img-blog.csdnimg.cn/img_convert/6e8bec87546ea76863fbd19fef0e169c.png)
- 在仍使用https通信时,如何有效的减少用户名和密码的输入——通过设置用户名和密码的缓存时间:
git config –global credential.helper store
这个是长期存储密码。
当然也可以设置缓存密码多久
git config –global credential.helper cache
设置记住密码(默认15分钟)
如果想自己设置缓存时间,可以这样做:
git config credential.helper ‘cache –timeout=3600’
这样就设置一个小时之后失效。上面的命令操作其实是被记录到 ~/.gitconfig 文件中了
![c6cf713d1d78be298046c669511b4f58.png](https://img-blog.csdnimg.cn/img_convert/c6cf713d1d78be298046c669511b4f58.png)
- https://gitee.com/help——码云帮助文档