問題提出
我們將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 [email protected]:yychuyu/linux-system-programming.git
解決辦法
解決辦法很簡單,將http方式改爲ssh方式即可。
先查看當前方式:
git remote -v
把http方式改爲ssh方式。先移除舊的http的origin:
git remote rm origin
再添加新的ssh方式的origin:
git remote add origin [email protected]:yychuyu/linux-system-programming.git
改動完之後直接執行git push是無法推送代碼的,需要設置一下上游要跟蹤的分支,與此同時會自動執行一次git push命令,此時已經不用要求輸入用戶名及密碼啦!
git push --set-upstream origin master
原文:https://blog.csdn.net/yychuyu/article/details/80186783