2022
我们一起努力

问题提出

作为程序员,我们肯定会经常跟 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 命令,这个时候已经不再要求输入用户名及密码啦,问题完美解决!

本文来源:www.lxlinux.net/solve-github-require-username-and-password-when-push-code-problem.html,若引用不当,请联系修改。

赞(0)
文章名称:《问题提出》
文章链接:https://www.fzvps.com/154076.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

相关推荐

评论 抢沙发

评论前必须登录!