Git

Git 实用技巧 - 配置 credential.helper

Git Practical Tips - Config Credential Helper

Posted by zihengCat on 2017-08-26

前言

Git 分布式版本管理系统使用的数据交换协议有:SSHHTTP

  • 使用SSH协议:用户需要先在本地配置SSH Key,配置完成后,与服务器同步代码无需输入用户名和密码。

  • 使用HTTP协议:用户不需要配置,但在每次代码同步时,需要手动输入用户名和密码,操作较为繁琐。

实际上,我们可以使用 Git Credential Helper 来简化HTTP协议下用户名和密码的输入过程。

GitHub 免用户名密码同步

我们以最常用的本地与 GitHub 代码同步为例:配置 GitHub 免用户名密码同步。

创建 Git 存储凭证

我们在用户家目录下创建一个名为.git-credentials的隐藏文件,将用户 GitHub 用户名与密码按指定格式写入该文件。

$ touch ~/.git-credentials
$ echo -n 'https://<user>:<pass>@github.com' >> ~/.git-credentials

代码清单:配置.git-credentials

配置 Git Credential Helper

接下来,我们在.gitconfig配置文件中加入credential.helper配置选项。

$ git config --global credential.helper store

代码清单:配置.gitconfig

命令执行完成后,用户家目录下的配置文件.gitconfig中会多出一枚配置项[credential]。以后,我们使用HTTP与 GitHub 进行代码同步时,就不需要手动输入用户名与密码了,非常方便。

注意事项

需要注意的是,.git-credentials凭证文件中的用户名密码以明文存储,有一定安全隐患。关于 Git Credential 的更多信息,可以浏览参考资料。

参考资料