📜  git 从不要求输入密码 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:00:57.188000             🧑  作者: Mango

Git 从不要求输入密码 - Shell/Bash

Git是一款非常常用的代码版本管理系统,它可以让程序员轻松管理修改记录,从而更方便地协作开发。但是,每次提取或推送代码时需要输入密码是很麻烦的事情。要解决这个问题,我们可以通过一些简单的步骤来免去输入密码的麻烦。

在配置 Git 中配置 credenital.helper

Git有一个叫做credential.helper的功能,通过它可以将授权凭证缓存在内存中,从而让Git在执行操作时可以直接使用这些凭证,而不需要用户手动输入密码。要开启这个功能并将凭证缓存,我们需要在Git的配置文件中加入一些配置项:

git config --global credential.helper store

执行这个命令后,每一次Git需要授权凭证时会将其存储在本地,下次需要使用时就可以直接获取到。

使用 SSH 公钥进行认证

另一种方法是使用SSH公钥进行认证。SSH公钥是一种非常常见的身份认证方式,只需要设置一次,之后就可以免去输入密码了。具体步骤如下:

生成 SSH 公钥

在我们的系统中生成 SSH 公钥是非常简单的,只需要执行以下命令:

ssh-keygen

这会在用户目录下生成一个SSH公钥和私钥。默认情况下,它们是~/.ssh/id_rsa和~/.ssh/id_rsa.pub。

将 SSH 公钥添加到 Git 托管服务

SSH公钥通常需要添加到你代码托管服务中,比如Github或Gitlab。你可以在你的主页中找到添加SSH公钥的选项。将公钥复制粘贴到该页面中。

让 Git 使用 SSH 公钥进行认证

最后,我们需要让Git在推送/拉取代码时使用SSH公钥进行认证。打开一个终端,在其中运行以下命令:

git config --global core.sshCommand "ssh -i ~/.ssh/id_rsa -F /dev/null"

在运行此命令后,Git会在每次推送或拉取代码时使用SSH公钥进行身份认证,而不是建立一个SSL连接并输入密码。

总结

以上两种方法可以让我们在使用Git时省去输入密码的麻烦。如果你想在多个系统之间共享这个设置,可以在设置完成后将~/.gitconfig文件复制到其他系统中。