git 免输用户名和密码上传代码到GitHub

本文详细介绍了如何配置Git,实现通过SSH方式而非HTTPS方式上传代码至GitHub,从而避免每次上传代码时都需要输入用户名和密码的繁琐过程。文章包括了从移除HTTPS配置、添加SSH配置、生成SSH公钥到在GitHub上添加SSH密钥的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

平时使用git上传代码到GitHub的时候,每次上传都要输入用户名和密码,感觉有点烦,今天去上网查了一下原因,并自己修改成功,不再需要输入用户名和密码也能上传代码。
图


首先要知道,为什么会出现每次上传代码都要输入用户名和密码呢?

**原因在于:**在clone 项目的时候,使用了 HTTPS方式,而不是ssh方式。
因为默认clone 方式就是HTTPS方式,所以你点击“Clone or download”时首先出现的会是HTTPS方式,
如图1
图1

点击图1右上角,切换到SSH方式,复制下来,下面要用,如图2
图2

在git上输入 git remote -v 查看clone的地址
如图3
图3

可以看出,目前使用的是HTTPS方式


原因知道了,下面是解决方法
(1) 使用 git remote rm origin 命令移除HTTPS的方式,

(2) 使用命令 git remote add origin git地址 (git地址是上面复制的内容),新添加上SSH方式

(3) 还是使用 git remote -v 命令,再次查看clone的地址,会发现git使用的方式变成了SSH方式,如图4
图4

(4) 还没完,如果现在就去push的话,它会出现如图5所示警告
图5

(5) 先使用 ssh -T git@github.com 测试一下,会有图6所示结果
图6
可以明显地看出,是因为还没有设置公钥

(6) 使用 ssh-keygen -t rsa -C "kivet-h" 命令生成公钥,“kivet-h”是我的GitHub用户名,每个人的都不一样,如图7
这里写图片描述
出现下面的红框内容表示生成成功

(7) 使用 cat /c/Users/kivet/.ssh/id_rsa.pub 命令查看key,如图8,并复制下来,
注意:cat后面的文件路径是(6)步骤生成的保存公钥的路径,每个人的保存路径不一样
图8

(8) 进入GitHub,直接按照下面图片步骤做,
图9
(9)
图10
(10)
图11
(11)
图12
(12)点击“Add SSH key”后,会提示输入自己的密码,输入点确定后就行了
(13) 现在去使用git想GitHub上传代码,就不会再提示你输入用户名和密码了,
图13

### Git 首次配置 SSH 使用用户名密码教程 #### 1. 配置全局用户名邮箱 在首次使用 Git 时,需要先配置用户的全局名称电子邮件地址。这可以通过以下命令完成: ```bash git config --global user.name "your_username" git config --global user.email "your_email@example.com" ``` 这里的 `your_username` `your_email@example.com` 是用户自定义的内容,用于标识提交者的身份[^1]。 #### 2. 创建并添加 SSH 密钥 为了简化登录流程,可以生成一个 SSH 密钥并与远程仓库关联。以下是具体操作: ##### (a) 生成 SSH 密钥 运行以下命令来生成一个新的 RSA 类型的 SSH 密钥,并绑定指定的电子邮箱: ```bash ssh-keygen -t rsa -C "your_email@example.com" ``` 执行该命令后会提示保存位置,默认路径为 `~/.ssh/id_rsa`。接着会要求密码短语(passphrase),这是可选的安全措施,但建议设置以增加安全性[^3]。 ##### (b) 查看公钥内容 生成完成后,在终端中打开 `.ssh` 文件夹下的 `id_rsa.pub` 文件查看其内容: ```bash cat ~/.ssh/id_rsa.pub ``` 复制显示出来的公钥字符串以便后续上传至目标平台。 #### 3. 将公钥添加到远程服务端 对于不同的代码托管服务平台有不同的方式将上述获得的公钥加入账户安全设置部分。 ##### GitHub 平台 登录个人账号页面依次导航至 **Settings -> SSH and GPG keys -> New SSH key** ,填写标题描述以及粘贴刚才复制好的公钥数据进去确认提交即可生效[^2]。 ##### GitLab 或其他支持 SSH 的版本控制系统 同样访问对应网站上的用户资料区域找到关于 SSH Keys 添加选项卡按指引录入信息完成绑定过程。 #### 4. 测试连接状态 验证是否能够顺利建立基于 SSH 协议的安全链接关系,尝试克隆某个公开存储库或者推送更改回去观察反馈消息是否有误。 ```bash git clone git@gitlab.example.com:namespace/project.git ``` 如果一切正常,则不会弹框请求额外认证凭证;反之则需排查原因重新调整参数直至满足条件为止[^5]。 #### 5. 解决持续性鉴权需求问题 即使完成了以上步骤,有时仍可能遇到反复索要用户名与口令的情况。对此有专门解决方案如下所示: ```bash git config credential.helper store ``` 这条指令的作用就是把当前主机上针对特定 URL 地址所使用的凭据永久记录下来从而除频繁交互带来的不便之处[^4]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值