卡哥發(fā)現(xiàn)Github在七夕搞事情!
大家好,我是Carl
錄友們都知道,卡哥每天都要維護(hù)刷題攻略Github倉庫,https://github.com/youngyangyang04/leetcode-master。
但就在七夕,如果你和卡哥一樣也要寫代碼,也要push代碼的話,就會發(fā)現(xiàn)github給你撂挑子了,報錯如下:

你沒看錯,就是七夕的前一天,給你一個surprise!
也就是說 Github 不支持 個人密碼認(rèn)證了,都要使用 personal access token(個人訪問令牌) 認(rèn)證。
其實這也不是突然搞這一出,Github 在 20年年底做了正式通知:

通知中給出了:2020 年 7 月,打算要求對所有經(jīng)過身份驗證的 Git 操作使用基于個人訪問令牌的身份驗證。并從 2021 年 8 月 13 日開始,將在 GitHub.com 上對 Git 操作進(jìn)行身份驗證時不再接受帳戶密碼。
通知原文鏈接:https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/
那么為什么要這么做呢?
這是官方的介紹:
卡哥來用大白話說一下大概啥意思。
其實是為了安全!更安全!
Github自從微軟接管以后,已經(jīng)增加了很多安全功能,例如雙因素身份驗證、登錄警報、經(jīng)過驗證的設(shè)備 等等。
盡管如此,只要是使用賬戶密碼登錄 就免不了 被“撞庫”的風(fēng)險。
什么是“撞庫”呢?
例如你平時登錄一個 垃圾網(wǎng)站,然后 注冊了自己的用戶名和密碼,但很多人 多個網(wǎng)站都是使用一個用戶名,密碼。
垃圾網(wǎng)站本來安全做的就不到位,甚至是專門為了收集用戶的賬戶密碼。
然后不法分子就盜用你的賬戶密碼 去登錄其他網(wǎng)站,例如Github。
盡管Github針對這一情況做了一些優(yōu)化,但由于某些原因,對于未啟用雙因素身份驗證的用戶仍能獲得對Github 的控制權(quán)。
而這次,Github徹底放棄用戶密碼登錄,就是為了防止這類情況發(fā)生。
所以,突然間給我撂挑子,我是完全可以理解的!
如何push代碼?
劃重點,接下來我們應(yīng)該如何做,才能把我們的代碼push上去呢。
接下來卡哥以mac電腦為例,
輸入:
cd??~/.ssh`
ls
如果已經(jīng)生成過 你會發(fā)現(xiàn)如下兩個文件
id_rsa??????id_rsa.pub?
如果沒有這兩個文件,那么輸入?
ssh-keygen -t rsa
?,如果有這兩個文件直接看步驟3
接下來 一路回車 就好,這樣就生成了 私鑰和公鑰,即:id_rsa 和 id_rsa.pub
id_rsa 一定要保存好,不要泄漏。
把 id_rsa.pub文件里的內(nèi)容全部 拷貝到 Github 新建的 SSH keys 中
步驟如下:


修改倉庫地址
先獲取倉庫的ssh 地址,如下:

修改已有倉庫地址,在倉庫目錄下的.git/config 文件:

將 倉庫ssh地址 替換原有地址:
保存后,退出,在重新push 你的代碼就可以成功了。
貢獻(xiàn)代碼
最后也歡迎大家 給?https://github.com/youngyangyang04/leetcode-master?貢獻(xiàn)代碼,成為1w star項目的 contributor。
平時我是鼓勵大家把自己的Github地址貼到 簡歷上的,但很多錄友的Github實在是太空了,那么可以把leetcode-master fork到自己的倉庫,然后提交PR 貢獻(xiàn)代碼,這樣也就成為leetcode-master的contributor,Github主頁也不會那么空了。
還有不少同學(xué)在簡歷上寫:喜歡技術(shù),喜歡玩Github,但絕大多數(shù)可能連PR都沒提交過,那怎么算喜歡玩Github呢?對吧。
Github提交PR(即貢獻(xiàn)代碼)的方式,可以看這里:https://mp.weixin.qq.com/s/tqCxrMEU-ajQumL1i8im9A
對于 leetcode-master 的優(yōu)化是從來不間斷的,即使題解已經(jīng)有了 你要更新的語言版本,但你依然可以做一些優(yōu)化,要記得把優(yōu)化的點寫在注釋上,甚至 題解里的錯別字,格式問題,都?xì)g迎大家進(jìn)行修正。
真正開源的項目,就是希望大家都能參與進(jìn)來,一起受益!加油咯???
leetcode-master Gitee地址:https://gitee.com/programmercarl/leetcode-master,Gitee上只是同步Github倉庫,因為一些錄友還是習(xí)慣看倉庫,但Github訪問有不穩(wěn)定。至于處理合入代碼我統(tǒng)一在Github上操作。
代碼隨想錄刷題網(wǎng)站上線咯:programmercarl.com,200道力扣題目刷題順序,詳細(xì)題解,支持C++、Java、Python、Go、JS等多語言版本,一個你只要發(fā)現(xiàn),就會收藏的硬核算法學(xué)習(xí)網(wǎng)站。
我是Carl,哈工大師兄,獲得過ACM亞洲區(qū)獎牌,先后在BAT中的兩家采坑,一位文舞雙全的程序員??梢约游覀€人VX:carlsun04,拉你進(jìn)刷題交流群,備注:個人自我介紹+組隊刷題, 否則不會通過哦
覺得不錯的話,還請小伙伴 點贊 支持下,希望能幫助到更多同學(xué) ??? ? ?