Github远程仓库使用
github是世界上使用最广泛的一个远程仓库,创建了远程仓库以后,一般使用两种协议来管理远程仓库,分别为HTTP(S) 协议和 SSH 协议。
-
HTTP(S)获取远程仓库
HTTP 协议方式拉取代码相对来说比较简单,直接执行 git 的 clone 命令即可,不需要额外的配置,但相对 SSH协议来说安全性较低。-
HTTP 协议首次拉取代码的命令格式如下所示:
git clone 版本库地址 [本地文件夹名称]
命令执行完成后,会要求你输入用户名和密码,只有当你输入正确的用户名和密码之后代码才能正常拉取。
-
SSH协议拉取代码:
-
首先要创建一个ssh key
通过 ssh 协议拉取代码首先要保证当前用户的主目录存在一个
.ssh
的文件夹,并且里面已经存在私钥文件,如果没有的话我们可以通过ssh-keygen
,生成一份公钥与私钥。在执行命令的交互中,可以直接回车使用默认选项,最终会在当前用户目录下生成公钥和私钥。之后查看生成的公钥的命令为
cat ~/.ssh/id_rsa.pub
。 -
添加公钥到服务器
-
拉取代码,ssh协议拉取代码与http协议类似
-
-
-
更新代码
使用命令git pull
可以更新本地仓库的代码 -
使用HTTPS(S)协议获取代码的时候会要求输入密码,可以选择记住密码:
-
临时记住密码,如果不想每次都输入 git 的认证信息,可以设置缓存认证数据,默认记住 15 分钟,如下命令所示:
git config –-global credential.helper cache
如果你想缓存更长时间,也可以指定缓存时长,比如下面是自定义配置记住 1 小时的命令:
git config credential.helper ‘cache –timeout=3600’
-
永久记住密码,如果不想每次提交代码都要输入用户名密码,也可以让 Git 永久记住密码,参考命令如下所示:
git config --global credential.helper store
命令执行完毕之后,会在当前用户主目录的
.gitconfig
文件中新增一项配置,配置如下所示:[credential] helper = store
在上面的命令中,如果没有
--global
,则会在当前项目下的.git/config
文件增加配置。从这里可以看出, git 永久记住密码其实是根据配置文件所决定,所以也可以直接复制上面生成的配置到配置文件中。
-