OS環(huán)境下在VScode內(nèi)使用github基礎(chǔ)(二)建立與遠(yuǎn)程倉(cāng)庫(kù)的連接

OS環(huán)境下在VScode內(nèi)使用github基礎(chǔ)(一)本地倉(cāng)庫(kù)中已經(jīng)介紹了宙橱,如何在本地新建一個(gè)倉(cāng)庫(kù)踩窖。這里將繼續(xù)介紹一下自己將本地倉(cāng)庫(kù)與遠(yuǎn)程倉(cāng)庫(kù)建立連接的方式亩进。

新建的本地倉(cāng)庫(kù)與clone下來的本地倉(cāng)庫(kù)間還是有著比較大的區(qū)別的。由于從遠(yuǎn)程clone到本地的分支自動(dòng)建立關(guān)聯(lián)忘瓦,而本地與遠(yuǎn)程建立了pull的關(guān)系但無法push鼻听,強(qiáng)行push會(huì)出現(xiàn)upstream問題吱晒,建立連接的過程會(huì)比較繁瑣甸饱,在大部分情況下,直接在github內(nèi)建立倉(cāng)庫(kù)然后clone至本地會(huì)是更加簡(jiǎn)便的方法枕荞。

上篇文章中柜候,已經(jīng)完成了本地倉(cāng)庫(kù)的建立與commit操作,接下來要實(shí)現(xiàn)的就是將本地倉(cāng)庫(kù)push至遠(yuǎn)程倉(cāng)庫(kù)躏精。

1. 配置SSH

1.1 生成SSH

上傳github有兩種方式渣刷,使用配對(duì)的SSH密鑰或者賬號(hào)密碼方式,前者一次設(shè)定即可矗烛,后者應(yīng)該也有記憶功能辅柴,但在個(gè)人使用過程中出不來要求輸入密碼的界面,有兩次出現(xiàn)后輸入密碼后并不顯示瞭吃,光標(biāo)在原地不動(dòng)碌嘀,根據(jù)他人經(jīng)驗(yàn)貼,實(shí)際密碼已經(jīng)輸入進(jìn)去了歪架,只需要回車即可股冗。有興趣的讀者可以自己嘗試,若知道為何時(shí)而才出現(xiàn)輸入密碼命令和蚪,希望可以分享一下~這里密鑰的配置方法也是手冊(cè)的直接轉(zhuǎn)述止状。
密鑰一般默認(rèn)存儲(chǔ)在~/.ssh目錄下,生成密鑰前攒霹,可以首先檢查一下是否已經(jīng)生成過密鑰怯疤。使用 cd ~/.ssh 命令,若有密鑰將會(huì)出現(xiàn)以下內(nèi)容:

$ cd ~/.ssh
ls
authorized_keys2  id_dsa       known_hosts
config            id_dsa.pub

其中.pub文件為公鑰而另一個(gè)即對(duì)應(yīng)的私鑰催束。第一次設(shè)置本地倉(cāng)庫(kù)連接前應(yīng)當(dāng)是沒有密鑰的集峦,需要我們生成一對(duì)公鑰與私鑰。輸入ssh-keygen -t rsa -C "郵箱地址" 命令后,就可以看到以下文本了

$ ssh-keygen -t rsa -C "email@email.com" 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/schacon/.ssh/id_rsa):
Created directory '/home/schacon/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/schacon/.ssh/id_rsa.
Your public key has been saved in /home/schacon/.ssh/id_rsa.pub.
The key fingerprint is:
d0:82:24:8e:d7:f1:bb:9b:33:53:96:93:49:da:9b:e3 schacon@mylaptop.local

其中后面的幾行是分開出現(xiàn)的塔淤,只需要我們按幾次enter鍵確認(rèn)即可摘昌。當(dāng)最后四行出現(xiàn)時(shí),我們的密鑰就生成完畢了高蜂,然后再使用 cat命令調(diào)用出.pub文件即公鑰的內(nèi)容第焰,并復(fù)制到github中就完成了SSH的配置。要復(fù)制的內(nèi)容是從第二行開始的所有文本妨马。

$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3N...
...NrRFi9wrf+M7Q== schacon@mylaptop.local

1.2 在gihub中配置SSH

復(fù)制好公鑰后,登陸github帳戶杀赢,點(diǎn)擊頭像烘跺,依次點(diǎn)擊Settings -> 左邊欄 SSH and GPG keys -> New SSH key,會(huì)出現(xiàn)兩個(gè)內(nèi)容框tittle與key脂崔,在key中粘貼剛才復(fù)制的公鑰滤淳,tittle可以隨便輸入,建議設(shè)置為私鑰所在的設(shè)備砌左,如Steve's Macbook Air脖咐。

2. 初次上傳

cd 項(xiàng)目所在目錄 #首先cd至項(xiàng)目所在目錄
git init #初始化本地倉(cāng)庫(kù),若已初始化可以省略
git add README.md 
git commit -m "first commit" #add并commit''README.md''文件至本地倉(cāng)庫(kù)中
git remote add origin git@github.com:XXXX/XXXX.git #初始化所要上傳的遠(yuǎn)程倉(cāng)庫(kù)
git push -u origin master  #將本地倉(cāng)庫(kù)push至遠(yuǎn)程倉(cāng)庫(kù)

代碼中前四行為本地倉(cāng)庫(kù)操作不做贅述汇歹。剛開始操作時(shí)屁擅,只需復(fù)制黏貼所有內(nèi)容即可,若想要更好理解5产弹、6兩行的內(nèi)容派歌,后面是一些解釋說明。

首先痰哨,第5行''git remote add origin''后的內(nèi)容是倉(cāng)庫(kù)地址胶果,要獲取地址在倉(cāng)庫(kù)內(nèi)點(diǎn)擊clone -> Use SSH 就可以看到SSH方式上傳所用的倉(cāng)庫(kù)地址,直接復(fù)制即可斤斧。初始化遠(yuǎn)程倉(cāng)庫(kù)后早抠,所在的本地倉(cāng)庫(kù)在之后都會(huì)以此作為對(duì)應(yīng)的遠(yuǎn)程倉(cāng)庫(kù)。以后要是想知道這個(gè)倉(cāng)庫(kù)對(duì)應(yīng)遠(yuǎn)程倉(cāng)庫(kù)信息撬讽,使用git remote -v命令即可蕊连。

git remote -v #查看當(dāng)前對(duì)應(yīng)的遠(yuǎn)程倉(cāng)庫(kù)信息

如果想要更改對(duì)應(yīng)的遠(yuǎn)程倉(cāng)庫(kù),就需要首先刪除當(dāng)前設(shè)置的origin锐秦,然后再次添加新的origin咪奖。

git remote rm origin #刪除設(shè)置
git remote -v #再次查看遠(yuǎn)程信息應(yīng)當(dāng)不會(huì)顯示任何內(nèi)容
git remote add origin git@github.com:XXXX/XXXX.git #初始化所要上傳的遠(yuǎn)程倉(cāng)庫(kù)

關(guān)于origin具體所指的是什么,可以參考這篇文章github中origin和upstream的區(qū)別酱床。

然后羊赵,我們?cè)賮斫忉?git push -u origin master'命令。git push十分易于理解,即一個(gè)push命令昧捷。使用參數(shù)-u是因?yàn)槭褂煤笙姓眩麓慰梢灾苯邮褂胓it push代替git push origin master。master是指定上傳master分支靡挥。

$ git push
The current branch master has no upstream branch.To push the current branch and set the remote as upstream, use 
git push --set-upstream origin master

若看過上一個(gè)文章鏈接序矩,會(huì)對(duì)upstream有更多一些的理解。具體對(duì)此命令解釋可以參考此篇文章git push origin和git push -u origin master區(qū)別跋破。

*可能遇到的問題:

如果遠(yuǎn)程倉(cāng)庫(kù)并非一個(gè)新建的空倉(cāng)庫(kù)簸淀,直接push,github會(huì)操作失敗毒返。因?yàn)楸镜睾瓦h(yuǎn)程的內(nèi)容不一致租幕,遠(yuǎn)程有本地所沒有的文件,github并不會(huì)只把本地倉(cāng)庫(kù)中遠(yuǎn)程倉(cāng)庫(kù)沒有的文件或后續(xù)更新上傳拧簸。我們首先需要把遠(yuǎn)程倉(cāng)庫(kù)文件pull到本地劲绪。使用git pull命令即可。若出現(xiàn)問題可以嘗試以下命令:

git pull origin master --allow-unrelated-histories #這個(gè)命令會(huì)強(qiáng)制把遠(yuǎn)程庫(kù)中不在本地的文件全部pull到本地

接下來再使用git push即可盆赤,如果成功贾富,打開github,會(huì)看到之前在本地但不在遠(yuǎn)程倉(cāng)庫(kù)中的文件已經(jīng)被添加進(jìn)了倉(cāng)庫(kù)中牺六。

一點(diǎn)備注:

個(gè)人在VScode內(nèi)使用github時(shí)颤枪,基本都是使用終端操作,只有commit和push可能會(huì)使用VScode內(nèi)的按鍵而非終端命令兔乞。不過汇鞭,VScode目前覺得唯一的優(yōu)點(diǎn)在于可以很方便的看到倉(cāng)庫(kù)內(nèi)版本狀況,如文件在倉(cāng)庫(kù)內(nèi)但還未追蹤庸追,或是更改后但尚未commit霍骄。

以上就是目前為止的進(jìn)度,關(guān)于github的使用暫時(shí)探索到這個(gè)程度淡溯。


原本準(zhǔn)備4月10號(hào)更的文章一直拖到現(xiàn)在才更读整,是由于之前畢業(yè)論文要求定稿了,又有兩場(chǎng)考試突然通知咱娶,急急忙忙需要復(fù)習(xí)米间,今晚八點(diǎn)剛剛完成了考試,安排接下來的計(jì)劃時(shí)膘侮,想起欠的這篇文章趕緊寫掉屈糊。距離畢業(yè)只剩下答辯和一門通識(shí)課程了,接下里會(huì)安心學(xué)習(xí)編程和CFA琼了,可以返校后也要拿到教材開始復(fù)習(xí)考研了逻锐。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末夫晌,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子昧诱,更是在濱河造成了極大的恐慌晓淀,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件盏档,死亡現(xiàn)場(chǎng)離奇詭異凶掰,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)蜈亩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門懦窘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人稚配,你說我怎么就攤上這事奶赠。” “怎么了药有?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)苹丸。 經(jīng)常有香客問我愤惰,道長(zhǎng),這世上最難降的妖魔是什么赘理? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任宦言,我火速辦了婚禮,結(jié)果婚禮上商模,老公的妹妹穿的比我還像新娘奠旺。我一直安慰自己,他們只是感情好施流,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布响疚。 她就那樣靜靜地躺著,像睡著了一般瞪醋。 火紅的嫁衣襯著肌膚如雪忿晕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天银受,我揣著相機(jī)與錄音践盼,去河邊找鬼。 笑死宾巍,一個(gè)胖子當(dāng)著我的面吹牛咕幻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播顶霞,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼肄程,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起绷耍,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤吐限,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后褂始,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诸典,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年崎苗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了狐粱。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡胆数,死狀恐怖肌蜻,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情必尼,我是刑警寧澤蒋搜,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站判莉,受9級(jí)特大地震影響豆挽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜券盅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一帮哈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧锰镀,春花似錦娘侍、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至花鹅,卻和暖如春踩叭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背翠胰。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工容贝, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人之景。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓斤富,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親锻狗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子满力,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354