在执行git push / pull时如何禁用密码提示?


34

每次我要push和/或pull从终端(在Linux中)我必须输入密码。我如何删除它,以便它在没有密码的情况下进行拉动和/或推动?


5
回购地址使用什么协议?ssh?https?
VonC

Answers:


23

生成用于无密码身份验证的私钥/公钥对。

对于Linux,您的密钥存储在中~/.ssh

如果您已经有~/.ssh名为id_rsa和的文件id_rsa.pub,则您已经有一个密钥对。将公共密钥(即id_rsa.pub)的内容追加到Git存储库的〜/ .ssh / authorized_keys文件中。

$ scp ~/.ssh/id_rsa.pub user@git.repo:id_rsa.tmp
$ ssh user@git.repo
$ cat id_rsa.tmp >> .ssh/authorized_keys

如果您没有密钥对,请生成一个

$ ssh-keygen -t rsa

阅读此内容以获取更多说明:http : //inchoo.net/tools-frameworks/how-to-generate-ssh-keys-for-git-authorization/


@slhck啊,没想到!不过,在发布进一步的说明之前,最好先了解whirlwin正在使用的OS。

感谢您的指导。我已经相应地更新了问题!
whirlwin

1
当我运行第一个命令时,我得到一个:您似乎正在使用ssh克隆git:// URL。确保未设置core.gitProxy配置选项和GIT_PROXY_COMMAND环境变量。丢失的连接
MultiformeIngegno

25

git config credential.helper存储

这会将您的凭据存储在根目录下的文件夹中。您需要在此命令后运行git pull / push,并首次指定用户名/ pwd。发布此消息将不提示用户输入密码。有关详细信息,访问https://git-scm.com/docs/git-credential-store


4
应该选择它作为该问题的正确答案。IMO,OP希望询问一种解决方案,https以避免不必一次又一次输入用户名/密码,而不必切换到ssh解决方案。此答案为1+。
Giang Nguyen

1
请注意,存储凭证帮助程序将密码存储在未加密的磁盘上。
0xc0de


1

我创建了一个新的分支,然后在提取时,必须输入用户名和密码。然后,我解决了使用ssh地址(在相关存储库站点上)重新克隆分支的问题。

例如:

git clone git@github.com:sshare/GLE.git
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.