Git(三)
git可以通过https、ssh进行代码的clone
注意:github除了可以通过https、ssh进行代码clone之外,还可以通过access token进行clone
下面针对三种方式进行讲解:
一、 区分https clone 和 ssh clone
不同的克隆方式导致校验方式不同,对应的免秘方式也不一样。 https通过记住账号密码免登,ssh通过校验生成的密钥免登。 通常都用ssh校验。
二、https免密配置方法
git通过了一种凭证的方式可以进行账号密码的缓存本地,输入一次后可以记住,下次不需要输入了。
创建凭证的方式如下:
幸运的是,Git 拥有一个凭证系统来处理这个事情。 下面有一些 Git 的选项: 1.默认所有都不缓存。 每一次连接都会询问你的用户名和密码。 2.“cache” 模式会将凭证存放在内存中一段时间。 密码永远不会被存储在磁盘中,并且在15分钟后从内存中清除。 3.“store” 模式会将凭证用明文的形式存放在磁盘中,并且永不过期。 这意味着除非你修改了你在 Git 服务器上的密码,否则你永远不需要再次输入你的凭证信息。 这种方式的缺点是你的密码是用明文的方式存放在你的 home 目录下。 4.如果你使用的是 Mac,Git 还有一种 “osxkeychain” 模式,它会将凭证缓存到你系统用户的钥匙串中。 这种方式将凭证存放在磁盘中,并且永不过期,但是是被加密的,这种加密方式与存放 HTTPS 凭证以及 Safari 的自动填写是相同的。 5.如果你使用的是 Windows,你可以安装一个叫做 “Git Credential Manager for Windows” 的辅助工具。 这和上面说的 “osxkeychain” 十分类似,但是是使用 Windows Credential Store 来控制敏感信息。
可以在 https://github.com/Microsoft/Git-Credential-Manager-for-Windows 下载。
注意:如果是mac,一般采用第四种凭证存储方式,会存储在钥匙串中,打开钥匙串,搜索git可以找到github、gitee等各个远程仓库存储的登录账号和密码。也可以进行凭证的删除。
你可以设置 Git 的配置来选择上述的一种方式: git config --global credential.helper store
下面命令查询配置的存储凭证方式:
git config -l|grep credential.helper
git查找凭证时,从配置的存储凭证依次查找,找到就返回,没找到就需要输入账号密码拉取代码。
具体详细情况参考git官网凭证文档:https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E5%87%AD%E8%AF%81%E5%AD%98%E5%82%A8
如果不使用凭证,也可以使用https方式,只是会采用默认不缓存处理,每次访问git远程都需要输入用户名和密码。
注意:这里https方式需要的用户名和密码是指远程git仓库平台的登录用户名和密码,比如gitee、github的登录账号和密码。而不是git config配置的用户名和用户邮箱,git config配置的用户名和邮箱仅仅为了标识是哪个用户提交的代码,没有其他作用。
三、ssh免密配置方法
执行生成公钥和私钥的命令:
ssh-keygen -t rsa
按回车3下 一般都是直接不写为空 直接回车
执行查看公钥的命令:
cat ~/.ssh/id_rsa.pub
也可自行百度windows或者mac存储git公钥的地方,进行查看。
github、gitee进行添加ssh公钥操作。例如:
github添加 你的ssh操作步骤:
gitee添加公钥方式可自行百度。
转载:https://www.cnblogs.com/cxx8181602/p/11125539.html
四、github 采用access token进行clone
还有一种方式,就是通过access token来实现,这种方式最为简单方便。只需要一个token字符串即可
进入/settings/tokens/new页面
选择相应的权限,之后生成access token
clone方式
复制 Clone with HTTPS 方式的地址,使用 git 命令:
git clone https://oauth2:access_token
@github.com/username/xxx.git
也就是说 clone 的时候,在你的项目地址的协议和主机名之间,加上 oauth2:access_token
@,即可成功拉取代码。如果申请的该access token有write的权限,是可以push的
示例: git clone https://oauth2:6e06502c7bdbf70fabdbbf966eb41f8d5******@github.com/chywx/vue-nuxt.git
转载:https://www.cnblogs.com/chywx/p/13447056.html
参考:https://blog.csdn.net/qq_37502106/article/details/106780562