git为私有仓库设置密码_关于git中的https和ssh,权限等问题
本地仓库和远程仓库通讯的两种方式:https和ssh1.使用https通信:公有仓库,用户B具有仓库A的克隆(只读)权限,没有push(修改)等权限;克隆时,用户B要输入自己的用户和密码进行身份识别(登录网站的用户名和密码);私有仓库,非仓库拥有者(管理者、开发者等)没有权限进行访问(无法clone,push,pull等权限);输入用户B的用户名和密码后,报错如下:remote: longelon
本地仓库和远程仓库通讯的两种方式: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文件中:
2.使用ssh通信:
ssh协议就相当于是加密后的一种身份识别机制,相当于接头暗号。详情https://www.jianshu.com/p/cab7e436a7aa;
可以避免使用https通信带来的在clone和push等仓库操作时,要输入用户名和密码的多余操作;
用ssh通信的文件中的.git目录下的config文件中:
2.1个人ssh
⭕说明:当在个人ssh中添加了某台机器生成的ssh key(公钥),这该机器就有这个改用户所有仓库下的所有访问权利;
2.2仓库ssh
⭕说明:给某个仓库添加某机器生成的公钥后,改机器具有clone和pull该仓库的权利,但是没有push的权利。
2.3操作ssh公钥命令(git bash);
1.生成ssh公钥:
ssh-keygen -t rsa -C “xxxxx@xxxxx.com”
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
- 在仍使用https通信时,如何有效的减少用户名和密码的输入——通过设置用户名和密码的缓存时间:
git config –global credential.helper store
这个是长期存储密码。
当然也可以设置缓存密码多久
git config –global credential.helper cache
设置记住密码(默认15分钟)
如果想自己设置缓存时间,可以这样做:
git config credential.helper ‘cache –timeout=3600’
这样就设置一个小时之后失效。上面的命令操作其实是被记录到 ~/.gitconfig 文件中了
- https://gitee.com/help——码云帮助文档
更多推荐
所有评论(0)