我把我的工作推到一个远程git存储库。

每次推送都会提示我输入用户名和密码。我想避免它的每一个推送,但如何配置以避免它?


当前回答

我用了帕维尔建议的答案,它对我很有效。我的区别是这样做,而我是这样添加远程:git远程添加(别名)https://(name:password)@github.com/(the远程地址).git

其他回答

我建议使用凭证管理器来存储GitHub凭证。使用git config——global credential。助手存储是不安全的,因为它以明文存储GitHub密码。 对于Linux, libsecret是一个很好的替代方案。对于Ubuntu和其他一些linux发行版,您可以执行以下操作:

安装:

sudo apt-get update
sudo apt install libsecret-1-0 libsecret-1-dev
sudo apt install gnome-keyring

创建

cd /usr/share/doc/git/contrib/credential/libsecret/
Sudo make 

配置git使用libsecret存储密码

git config --global credentail.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret

在此设置后输入一次密码后,git凭据将由libsecret存储。

看起来,至少在Windows上使用TortoiseGIT时,可以创建SSH密钥并将其传输到GIT服务器,只需使用:

> ssh-keygen.exe
> ssh-copy-id [username]@[GIT_server]

第一步-

使用以下命令在linux系统上创建SSH密钥

ssh-keygen -t rsa -b 4096 -C "your_email"

它将询问密码短语和文件名(默认为~/)。ssh / id_rsa ~ / . ssh / id_rsa . pub)

步骤2 -

一旦文件创建,添加公钥id_rsa。Pub到github帐户SSH部分。

第三步-

在您的机器上,使用以下命令将私钥id_rsa添加到ssh-agent

ssh-add ~/.ssh/id_rsa 

步骤4 -

现在使用以下命令将远程url git@github.com:user_name/repo_name.git添加到本地git repo中。

git remote remove origin
git remote add origin git@github.com:user_name/repo_name.git

这是它。

只是想指出上面说过几次的解决方案:

git config credential.helper store

在此之后,您可以使用任何需要密码的命令。你不需要用力。之后,你就不需要再输入你的用户名/密码了。

我使用的是https链接(https://github.com/org/repo.git) 而不是SSH链接;

git@github.com:org/repo.git  

转换为我解决了这个问题!