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

41f230c914126a9ad9d8515a27e90a4b.png

问题提出

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

0dd0d9b1dc656e2167be3bd866cdc9fe.png

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

原因分析

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

dd6e8edb809d1350c11c887f1d69636b.png

如上图所示,默认情况下,在 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

e691cf6b407fafb0c8cc529969bd981b.png

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

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

$ git remote rm origin

再添加新的 ssh 方式的 origin:

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

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

5203cefbd8eb163f726782373a9fe0e4.png

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

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

$ git push --set-upstream origin master

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

3637c9cb2f82b39b6dd3e5349102b33f.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值