配置git push不用每次输入用户名和密码

2017-12-14  本文已影响4309人  天魂_TH

1.使用ssh协议

ssh-keygen -t rsa -C "xxxxx@xxxxx.com"  
# Generating public/private rsa key pair...
# 三次回车即可生成 ssh key
cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....
git remote set-url origin git@xxx.com:xxx/xxx.git

2.设置git配置

对于 HTTP 协议 git 拥有一个凭证系统来处理这个事情
git config --global credential.helper cache

部分辅助工具有一些选项。 “store” 模式可以接受一个 --file <path> 参数,可以自定义存放密码的文件路径(默认是~/.git-credentials)。 “cache” 模式有 --timeout <seconds> 参数,可以设置后台进程的存活时间(默认是 “900”,也就是 15 分钟)。 下面是一个配置 “store” 模式自定义路径的例子:

git config --global credential.helper store --file ~/.my-credentials

Git 甚至允许你配置多个辅助工具。 当查找特定服务器的凭证时,Git 会按顺序查询,并且在找到第一个回答时停止查询。 当保存凭证时,Git 会将用户名和密码发送给 所有 配置列表中的辅助工具,它们会按自己的方式处理用户名和密码。 如果你在闪存上有一个凭证文件,但又希望在该闪存被拔出的情况下使用内存缓存来保存用户名密码,.gitconfig 配置文件如下:

[credential]
    helper = store --file /mnt/thumbdrive/.git-credentials
    helper = cache --timeout 30000

3.修改git配置文件

在用户文件夹下找到 .gitconfig文件,用编辑器或者vim打开,如果之前有配置过用户名和密码就会在里面看到

[user]
    name = xxx
    email = xxx@xxxxx.com

在后面追加如下配置并保存

[credential]
     helper=store

下次执行git push再次输入用户名之后,git就会记住用户名密码并在上述目录下创建.git-credentials文件,记录的就是输入的用户名密码。

上一篇 下一篇

猜你喜欢

热点阅读