很早之前就注冊(cè)了Github缓艳,但對(duì)其使用一直懵懵懂懂菠镇,很不熟練稻励。直到昨天做完百度前端技術(shù)學(xué)院的task,想把代碼托管到Github上的時(shí)候發(fā)現(xiàn)自己對(duì)于Git的操作是如此之愚鈍覆致,所以今天決定把Git好好學(xué)習(xí)一遍侄旬,好讓自己以后能更好地使用Github,主要還是通過Git教程 - 廖雪峰的官方網(wǎng)站來學(xué)習(xí)煌妈。簡(jiǎn)要步驟可以直接看最后的總結(jié)儡羔。
Git的安裝就不說了。
第一步:我們需要先創(chuàng)建一個(gè)本地的版本庫(kù)(其實(shí)也就是一個(gè)文件夾)声旺。
你可以直接右擊新建文件夾笔链,也可以右擊打開Git bash命令行窗口通過命令來創(chuàng)建段只。
現(xiàn)在我通過命令行在桌面新建一個(gè)TEST文件夾(你也可以在其他任何地方創(chuàng)建這個(gè)文件夾)腮猖,并且進(jìn)入這個(gè)文件夾
第二步:通過命令git init把這個(gè)文件夾變成Git可管理的倉(cāng)庫(kù)
這時(shí)你會(huì)發(fā)現(xiàn)TEST里面多了個(gè).git文件夾,它是Git用來跟蹤和管理版本庫(kù)的赞枕。如果你看不到澈缺,是因?yàn)樗J(rèn)是隱藏文件,那你就需要設(shè)置一下讓隱藏文件可見炕婶。
第三步:這時(shí)候你就可以把你的項(xiàng)目粘貼到這個(gè)本地Git倉(cāng)庫(kù)里面(粘貼后你可以通過git status來查看你當(dāng)前的狀態(tài))姐赡,然后通過git add把項(xiàng)目添加到倉(cāng)庫(kù)(或git add .把該目錄下的所有文件添加到倉(cāng)庫(kù),注意點(diǎn)是用空格隔開的)柠掂。在這個(gè)過程中你其實(shí)可以一直使用git status來查看你當(dāng)前的狀態(tài)项滑。
這里提示你雖然把項(xiàng)目粘貼過來了,但還沒有add到Git倉(cāng)庫(kù)上涯贞,然后我們通過git add .把剛才復(fù)制過來的項(xiàng)目全部添加到倉(cāng)庫(kù)上枪狂。
第四步:用git commit把項(xiàng)目提交到倉(cāng)庫(kù)。
-m后面引號(hào)里面是本次提交的注釋內(nèi)容宋渔,這個(gè)可以不寫州疾,但最好寫上,不然會(huì)報(bào)錯(cuò)皇拣,詳情自行Google严蓖。好了薄嫡,我們本地Git倉(cāng)庫(kù)這邊的工作做完了,下面就到了連接遠(yuǎn)程倉(cāng)庫(kù)(也就是連接Github)
由于本地Git倉(cāng)庫(kù)和Github倉(cāng)庫(kù)之間的傳輸是通過SSH加密的颗胡,所以連接時(shí)需要設(shè)置一下:
第五步:創(chuàng)建SSH KEY毫深。先看一下你C盤用戶目錄下有沒有.ssh目錄,有的話看下里面有沒有id_rsa和id_rsa.pub這兩個(gè)文件毒姨,有就跳到下一步费什,沒有就通過下面命令創(chuàng)建
$ssh-keygen -t rsa -C"youremail@example.com"
然后一路回車。這時(shí)你就會(huì)在用戶下的.ssh目錄里找到id_rsa和id_rsa.pub這兩個(gè)文件
第六步:登錄Github,找到右上角的圖標(biāo)手素,打開點(diǎn)進(jìn)里面的Settings鸳址,再選中里面的SSH and GPG KEYS,點(diǎn)擊右上角的New SSH key泉懦,然后Title里面隨便填稿黍,再把剛才id_rsa.pub里面的內(nèi)容復(fù)制到Title下面的Key內(nèi)容框里面,最后點(diǎn)擊Add SSH key崩哩,這樣就完成了SSH Key的加密巡球。具體步驟也可看下面:
第七步:在Github上創(chuàng)建一個(gè)Git倉(cāng)庫(kù)。
你可以直接點(diǎn)New repository來創(chuàng)建邓嘹,比如我創(chuàng)建了一個(gè)TEST2的倉(cāng)庫(kù)(因?yàn)槲依锩嬉呀?jīng)有了一個(gè)test的倉(cāng)庫(kù)酣栈,所以不能再創(chuàng)建TEST倉(cāng)庫(kù))。
第八步:在Github上創(chuàng)建好Git倉(cāng)庫(kù)之后我們就可以和本地倉(cāng)庫(kù)進(jìn)行關(guān)聯(lián)了汹押,根據(jù)創(chuàng)建好的Git倉(cāng)庫(kù)頁(yè)面的提示矿筝,可以在本地TEST倉(cāng)庫(kù)的命令行輸入:
$git remote add origin https://github.com/guyibang/TEST2.git
注意origin后面加的是你Github上創(chuàng)建好的倉(cāng)庫(kù)的地址。
第九步:關(guān)聯(lián)好之后我們就可以把本地庫(kù)的所有內(nèi)容推送到遠(yuǎn)程倉(cāng)庫(kù)(也就是Github)上了棚贾,通過:
$git push -u origin master
由于新建的遠(yuǎn)程倉(cāng)庫(kù)是空的窖维,所以要加上-u這個(gè)參數(shù),等遠(yuǎn)程倉(cāng)庫(kù)里面有了內(nèi)容之后妙痹,下次再?gòu)谋镜貛?kù)上傳內(nèi)容的時(shí)候只需下面這樣就可以了:
$git push origin master
上傳項(xiàng)目的過程可能需要等一段時(shí)間铸史,完成之后是這樣的:
這時(shí)候你再重新刷新你的Github頁(yè)面進(jìn)入剛才新建的那個(gè)倉(cāng)庫(kù)里面就會(huì)發(fā)現(xiàn)項(xiàng)目已經(jīng)成功上傳了:
至此就完成了將本地項(xiàng)目上傳到Github的整個(gè)過程。
另外怯伊,這里有個(gè)坑需要注意一下琳轿,就是在上面第七步創(chuàng)建遠(yuǎn)程倉(cāng)庫(kù)的時(shí)候,如果你勾選了Initialize this repository with a README(就是創(chuàng)建倉(cāng)庫(kù)的時(shí)候自動(dòng)給你創(chuàng)建一個(gè)README文件)耿芹,那么到了第九步你將本地倉(cāng)庫(kù)內(nèi)容推送到遠(yuǎn)程倉(cāng)庫(kù)的時(shí)候就會(huì)報(bào)一個(gè)failed to push some refstohttps://github.com/guyibang/TEST2.git的錯(cuò)崭篡。
這是由于你新創(chuàng)建的那個(gè)倉(cāng)庫(kù)里面的README文件不在本地倉(cāng)庫(kù)目錄中,這時(shí)我們可以通過以下命令先將內(nèi)容合并以下:
$git pull --rebase origin master
這時(shí)你再push就能成功了猩系。
總結(jié):其實(shí)只需要進(jìn)行下面幾步就能把本地項(xiàng)目上傳到Github
1媚送、在本地創(chuàng)建一個(gè)版本庫(kù)(即文件夾),通過git init把它變成Git倉(cāng)庫(kù)寇甸;
2塘偎、把項(xiàng)目復(fù)制到這個(gè)文件夾里面疗涉,再通過git add .把項(xiàng)目添加到倉(cāng)庫(kù);
3吟秩、再通過git commit -m "注釋內(nèi)容"把項(xiàng)目提交到倉(cāng)庫(kù)咱扣;
4、在Github上設(shè)置好SSH密鑰后涵防,新建一個(gè)遠(yuǎn)程倉(cāng)庫(kù)闹伪,通過git remote add origin?https://github.com/guyibang/TEST2.git將本地倉(cāng)庫(kù)和遠(yuǎn)程倉(cāng)庫(kù)進(jìn)行關(guān)聯(lián);
5壮池、最后通過git push -u origin master把本地倉(cāng)庫(kù)的項(xiàng)目推送到遠(yuǎn)程倉(cāng)庫(kù)(也就是Github)上偏瓤;(若新建遠(yuǎn)程倉(cāng)庫(kù)的時(shí)候自動(dòng)創(chuàng)建了README文件會(huì)報(bào)錯(cuò),解決辦法看上面)椰憋。
這里只是總結(jié)了Git上傳項(xiàng)目的一些基本操作厅克,要想更好地使用Git還需更進(jìn)一步的學(xué)習(xí)。