在 Git 中缓存 GitHub 密码信息-credential
git 有两种方式访问服务器:https ssh
以下介绍两种方式进行一次设置,以后可以直接操作无需密码。
ssh
如果下载仓库的时候用的 git@git 的形式,代表是 ssh 方式下载的。在登录的时候需要使用 ssh key代替账号密码。
关于 ssh key 参考官方介绍:
https://help.github.com/en/articles/generating-an-ssh-key
https
如果下载仓库的时候用的是 https ,则需要配置一个 credential helper 来告诉 git 记住账户密码。
Windows
终端执行如下代码,将证书存储到本地:
git config --global credential.helper wincred
运行后操作一次 git push 如果提示输入密码,则输入一次,以后就不会再提示了。
Mac
Mac 下需要使用到 osxkeychain 来存储证书。
首先检查是否已经安装了 osxkeychain:
git credential-osxkeychain
如果没有安装,系统会自动提示下载包含credential-osxkeychain 的 Xcode Command Line Tools。
或者使用 homebrew 来安装 Git 和 the osxkeychain helper:
brew install git
终端执行如下代码,将证书安装到本地:
git config --global credential.helper osxkeychain
运行后操作一次 git push 如果提示输入密码,则输入一次,以后就不会再提示了。
Linux
Linux 下打开 credential helper 将账户密码存储在本地或缓存中。
使用 cache 选项保存到缓存,默认将会缓存 15 分钟:
git config --global credential.helper cache
修改缓存时间可以使用如下指令,单位:秒:
git config --global credential.helper 'cache --timeout=3600'
使用 store 存储在本地,默认存储在 ~/.git-credentials
:
git config --global credential.helper store
二次验证 token
如果开启了账户二次验证,则需要生成一个 Personal access token 来代替密码输入:
在 github 账户设置中,进入 settings - Developer settings,点击 generate new token,在里面选择 repo 复选框,会生成一串字符,在命令行中输入账户密码时用它代替密码。
首次设置
如果第一次使用命令行需要做如下设置用户信息:
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
git config --global push.default simple
标签:git, credential