良许Linux教程网 干货合集 解决git提交代码到GitHub上每次都需要输入用户名和密码的问题

解决git提交代码到GitHub上每次都需要输入用户名和密码的问题

问题提出

作为程序员,我们肯定会经常跟 GitHub打交道。有了 GitHub ,我们就不用重复去造轮子了。当我们将 GitHub 上的工程通过 git clone 到本地之后,修改完代码后想要 git push 回 GitHub,有时候会一直提示输入用户名及密码,如下图所示:

密码输一次两次还好,但一直要求输入密码,就会大大降低效率,毕竟我们有可能一天会有多次推送。

原因分析

这个问题其实很简单,出现这种情况的根本原因是我们使用了 https 的方式 clone 代码到本地,相应的,也是使用 https 的方式将代码 push 到 GitHub。

如上图所示,默认情况下,在 GitHub 系统上克隆代码的地址采用的是 https 的方式,对于小白而言可能并不明白去修改传输方式,于是一般直接这样 clone 代码:

$ git clone https://github.com/yychuyu/linux-system-programming.git

于是乎,这个问题就会开始出现了。

除了 https 方式,还有一种方式就是采用 ssh 方式,是这样 clone 代码的:

$ git clone git@github.com:yychuyu/linux-system-programming.git

解决方案

为了安全性,采用 https 方式通讯的话就会要求每次重新输入用户名及密码。所以解决办法也很简单,将 https 方式改为 ssh 方式即可。

如果不知道现在采用哪种方式,可以先查询一下:

$ git remote -v

从结果上很明显看到这是采用 https 方式。

如果要把 https 方式改为 ssh 方式,需要先移除旧的 https 的 origin:

$ git remote rm origin

再添加新的 ssh 方式的 origin:

$ git remote add origin git@github.com:yychuyu/linux-system-programming.git

修改完之后,我们还要再确认一下有没修改成功:

可以看到已经成功将 https 方式改为 ssh方式了。

但修改完之后还是没办法直接执行 git push 来推送代码的,需要手动设置一下要跟踪的上游分支。与此同时会自动执行一次git push命令,此时已经不用要求输入用户名及密码啦!

$ git push --set-upstream origin master

在设置的同时,已经自动执行一次 git push 命令,这个时候已经不再要求输入用户名及密码啦,问题完美解决!

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
头像

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部