使用 Sourcetree
將代碼推送到 github
網(wǎng)站時(shí),提示錯(cuò)誤:
Pushing to https://github.com/uniapp10/snippet
remote: Invalid username or password.
因?yàn)?code>Sourcetree只是可視化界面, 提交代碼底層依然是 git 命令贡羔,使用git
繼續(xù)提交時(shí),提示需要填寫(xiě)用戶(hù)名和密碼蛙酪,輸入登陸github
網(wǎng)站的密碼二蓝,仍然報(bào)錯(cuò)。
Username for 'https://github.com': uniapp10
Password for 'https://uniapp10@github.com':
remote: Invalid username or password.
記得以前沒(méi)有開(kāi)通兩步認(rèn)證時(shí)朦蕴,此方法是可行的篮条。兩步驗(yàn)證功能開(kāi)通后,登錄網(wǎng)站首先需要輸入登錄密碼梦重,然后還有 Authenticator
中的防護(hù)密碼兑燥。而git
命令密碼輸入只有一步亮瓷,除非找到讓兩個(gè)密碼合并成一個(gè)的方式才可以順利登錄琴拧。
查找資料,發(fā)現(xiàn)輸入的密碼嘱支,需要在 github
網(wǎng)站個(gè)人設(shè)置頁(yè)面生成蚓胸。路徑Settings/Developer settings/Personal access tokens
,生成一串類(lèi)似token
的字符串除师。使用git push origin
繼續(xù)提交沛膳,成功。
以上方式解決問(wèn)題的前提是:使用https協(xié)議拉取的項(xiàng)目
汛聚。
git
命令還支持ssh
協(xié)議推拉項(xiàng)目锹安,需要在本地生成配對(duì)的公私鑰,然后將公鑰添加到github
網(wǎng)站的個(gè)人設(shè)置中倚舀,具體流程可參考connecting-to-github-with-ssh叹哭。
對(duì)ssh
簡(jiǎn)單的理解,就是將公鑰發(fā)給服務(wù)器痕貌,以后通信時(shí)首先使用本地的私鑰進(jìn)行匹配驗(yàn)證风罩,成功后就可以傳輸信息了。感興趣可參考阮老師文章ssh_remote_login舵稠。
簡(jiǎn)單總結(jié)一下:Sourcetree
是對(duì) git
命令的可視化顯示超升。如果Sourcetree
出現(xiàn)問(wèn)題,首先在命令行使用git
嘗試哺徊,會(huì)得到更詳細(xì)的錯(cuò)誤提示室琢,根據(jù)錯(cuò)誤提示,再尋求解決辦法落追。完~