push代码到github时,每次都要输入用户名和密码的问题

本文介绍了一种在GitHub上进行免密码提交代码的方法。通过将默认的HTTPS方式更改为SSH方式,可以有效避免每次推送代码时都需要输入用户名和密码的问题。

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

问题原由

我在Github上 建立了一个小项目TauStreamingServer,可是在每次push代码 的时候,都要求输入用户名和密码,很是麻烦。

如何才能避免每次都输入用户名和密码呢?

解决办法

根本原因是Github默认使用了https方式来push代码,如果我们改为SSH方式就可以避免该问题。

为此在shell终端 输入

git remote -v 

可以看到形如以下的返回结果

origin    https://github.com/taoyunxing/TauStreamingServer.git (fetch)
origin    https://github.com/taoyunxing/TauStreamingServer.git (push)

现在把它换成ssh方式就可以了

git remote add origin git@github.com:taoyunxing/TauStreamingServer.git

此时我们看到https已经改为了SSH方式

origin    git@github.com:taoyunxing/TauStreamingServer.git (fetch)
origin    git@github.com:taoyunxing/TauStreamingServer.git (push


下面我们直接提交代码

git push origin


参考文献

[1].http://blog.csdn.net/yuquan0821/article/details/8210944

### 如何在 Git 中仅使用用户名密码进行代码提交 为了理解如何通过用户名密码来完成 Git 提交,重要的是要认识到现代版本控制系统通常推荐使用 SSH 密钥或个人访问令牌 (PAT),而不是直接利用明文形式的用户名密码组合来进行身份验证。然而,在某些情况下确实可以配置 Git 使用 HTTP/HTTPS 方式的 URL 来推送更改,并提供基本认证信息。 当设置远程仓库地址可以选择 HTTPS 协议并输入完整的 URL 后面附带 `username` 参数: ```bash git remote set-url origin https://<your_username>@github.com/<your_username>/<repository>.git ``` 每次执行 push 或 pull 操作会被提示输入对应的账户密码[^2]。 对于那些希望简化流程而不必每次都手动键入凭证的情况,可以通过缓存机制保存这些敏感数据一段间内有效。例如,可以在命令行工具中启用凭据助手功能以便自动处理后续的身份验证请求: ```bash git config --global credential.helper cache # 设置超期限为900秒(15分钟), 可选参数 git config --global credential.helper 'cache --timeout=900' ``` 需要注意的是这种方法存在一定的安全隐患,因为如果计算机被他人非法获取控制权,则可能会滥用存储下来的登录资料造成潜在风险;因此建议只在受信任环境中采用此方法。 另外一种方式是在克隆项目之初就指定好带有用户名密码的信息作为初始连接字符串的一部分,不过这种方式并不安全也不推荐长期使用,因为它会把密码暴露在网络传过程中以及历史记录里: ```bash https://<your_username>:<your_password>@github.com/<your_username>/<repository>.git ``` 综上所述,虽然能够实现基于用户名密码的身份验证过程用于提交代码到远端服务器,但从安全性角度出发还是强烈建议考虑其他更为稳妥的选择比如SSH密钥对或者OAuth Token等替代方案。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值