最近从公司的 Gitlab 服务器拉代码 git pull 的时候,总是需要输入用户名和密码,非常烦人。所以想着一劳永逸的解决这个问题。
我们公司拉代码的方式是通过 https 的方式拉代码,而我在 Github 上拉代码的方式是通过 ssh。
ssh 是可以通过配置公私钥的方式来解决频繁输入用户名密码的问题。但是 https 的这种远程仓库的配置,怎么避免每次拉代码都要输入密码?这个倒是么有研究过。上网搜了一下,顺带把解决的方案贴到这里。
大致思路如下
-
执行
git config credential.helper store命令。这个命令用于配置 Git,将你的凭证(用户名和密码)以明文形式存储在本地系统上。 -
运行该命令后,git 会创建或更新你的主目录(通常是
~/.gitconfig)下的.gitconfig文件。它会添加以下内容:[credential] helper = store这个配置告诉 Git 使用
store凭证助手,将你的凭证以明文形式存储在一个文件中。默认情况下,凭证会存储在主目录下的.git-credentials(即 ~/.git-credentials)文件中。但此时
.git-credentials文件并没有被创建,需要执行git pull命令触发创建。 -
此时再执行
git pull,输入用户名和密码后,会看到.git-credentials会被创建,文件里面的内容是 http://{username}:{password}@gitlab.xxx.com。这里的username和password都是明文。 -
之后每次再重新拉代码(
git pull)的时候,就不必重新输入密码了。
