有时必须采用 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 目录,加上可执行权限即可。
愉快的提交代码吧 :)
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式