HTTP 访问 git server 时的免密码操作方法

更新日期: 2020-04-27 阅读次数: 16598 字数: 275 分类: Git

有时必须采用 http 协议操作,提交代码时异常痛苦。介绍下免密码操作的方法。

简易但不安全的方法

用户根目录下新建一个 .netrc 文件, 相关参数改成自己的即可。

machine git-server-ip-or-host 
login your-accout 
password your-password
protocol http

控制权限,防止偷窥

chmod 0600 .netrc

更安全的方法

使用 gpg 对 .netrc 进行加密。

生产一个 gpg key

gpg --gen-key

按照提示输入即可,最后一步可能耗时很长,静候几分钟即可。

进行加密

gpg -e -r <你的gpg key> .netrc

这时生成一个 ~/.netrc.gpg 文件, 然后手动删除原有的明文 .netrc 文件。

rm ~/.netrc

修改项目下的 git 配置文件 your-project-path/.git/config, 添加

[credential]
    helper = netrc -f ~/.netrc.gpg -v

安装 credential-netrc

运行 git fetch 时,可能遇到错误信息

git: 'credential-netrc' is not a git command. See 'git --help'.

只需要去下载工具 git-credential-netrc

wget https://raw.githubusercontent.com/git/git/master/contrib/credential/netrc/git-credential-netrc
chmod +x git-credential-netrc

复制到自己的 bin 目录,加上可执行权限即可。

愉快的提交代码吧 :)

tags: git 不用密码

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式