问题提出
我们将github上的工程clone到本地后,修改完代码后想要push到github,但一直会有提示输入用户名及密码,如下图:
原因分析
出现这种情况的原因是我们使用了http的方式clone代码到本地,相应的,也是使用http的方式将代码push到服务器。
如图所示,在github系统上克隆代码的地址默认采用的是http的方式,我们一般这样clone代码:
git clone https://github.com/yychuyu/linux-system-programming.git
这就容易导致这个问题的出现。
而如果采用ssh方式的话,是这样clone代码的:
git clone git@github.com:yychuyu/linux-system-programming.git
解决办法
解决办法很简单,将http方式改为ssh方式即可。
先查看当前方式:
git remote -v
把http方式改为ssh方式。先移除旧的http的origin:
git remote rm origin
再添加新的ssh方式的origin:
git remote add origin git@github.com:yychuyu/linux-system-programming.git
检查一下有没改变成功:
改动完之后直接执行git push是无法推送代码的,需要设置一下上游要跟踪的分支,与此同时会自动执行一次git push命令,此时已经不用要求输入用户名及密码啦!
git push --set-upstream origin master
---------------
我是良许,世界500强外企 Linux 开发工程师,专业生产 Linux 干货。欢迎关注我的公众号「良许Linux」,回复「1024」获取最新最全的技术资料,回复「入群」进入高手如云技术交流群。