很早之前就注冊了Github,但對其使用一直懵懵懂懂,很不熟練。直到昨天做完百度前端技術(shù)學(xué)院的task,想把代碼托管到Github上的時(shí)候發(fā)現(xiàn)自己對于Git的操作是如此之愚鈍,所以今天決定把Git好好學(xué)習(xí)一遍,好讓自己以后能更好地使用Github,主要還是通過Git教程 - 廖雪峰的官方網(wǎng)站來學(xué)習(xí)。簡要步驟可以直接看最后的總結(jié)。
? ? ? ?Git的安裝就不說了。
? ? ? ?第一步:我們需要先創(chuàng)建一個(gè)本地的版本庫(其實(shí)也就是一個(gè)文件夾)。
? ? ? ?你可以直接右擊新建文件夾,也可以右擊打開Git bash命令行窗口通過命令來創(chuàng)建。
? ? ? ?現(xiàn)在我通過命令行在桌面新建一個(gè)TEST文件夾(你也可以在其他任何地方創(chuàng)建這個(gè)文件夾),并且進(jìn)入這個(gè)文件夾
第二步:通過命令git init把這個(gè)文件夾變成Git可管理的倉庫
這時(shí)你會發(fā)現(xiàn)TEST里面多了個(gè).git文件夾,它是Git用來跟蹤和管理版本庫的。如果你看不到,是因?yàn)樗J(rèn)是隱藏文件,那你就需要設(shè)置一下讓隱藏文件可見。
第三步:這時(shí)候你就可以把你的項(xiàng)目粘貼到這個(gè)本地Git倉庫里面(粘貼后你可以通過git status來查看你當(dāng)前的狀態(tài)),然后通過git add把項(xiàng)目添加到倉庫(或git add .把該目錄下的所有文件添加到倉庫,注意點(diǎn)是用空格隔開的)。在這個(gè)過程中你其實(shí)可以一直使用git status來查看你當(dāng)前的狀態(tài)。
這里提示你雖然把項(xiàng)目粘貼過來了,但還沒有add到Git倉庫上,然后我們通過git add .把剛才復(fù)制過來的項(xiàng)目全部添加到倉庫上。
?第四步:用git commit把項(xiàng)目提交到倉庫。
?-m后面引號里面是本次提交的注釋內(nèi)容,這個(gè)可以不寫,但最好寫上,不然會報(bào)錯(cuò),詳情自行Google。?好了,我們本地Git倉庫這邊的工作做完了,下面就到了連接遠(yuǎn)程倉庫(也就是連接Github)
? ? ? 由于本地Git倉庫和Github倉庫之間的傳輸是通過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í)你就會在用戶下的.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倉庫。
? ? ?你可以直接點(diǎn)New repository來創(chuàng)建,比如我創(chuàng)建了一個(gè)TEST2的倉庫(因?yàn)槲依锩嬉呀?jīng)有了一個(gè)test的倉庫,所以不能再創(chuàng)建TEST倉庫)。
?? 第八步:在Github上創(chuàng)建好Git倉庫之后我們就可以和本地倉庫進(jìn)行關(guān)聯(lián)了,根據(jù)創(chuàng)建好的Git倉庫頁面的提示,可以在本地TEST倉庫的命令行輸入:
$ git remote add origin https://github.com/guyibang/TEST2.git
?注意origin后面加的是你Github上創(chuàng)建好的倉庫的地址。
?第九步:關(guān)聯(lián)好之后我們就可以把本地庫的所有內(nèi)容推送到遠(yuǎn)程倉庫(也就是Github)上了,通過:
$ git push -u origin master
?由于新建的遠(yuǎn)程倉庫是空的,所以要加上-u這個(gè)參數(shù),等遠(yuǎn)程倉庫里面有了內(nèi)容之后,下次再從本地庫上傳內(nèi)容的時(shí)候只需下面這樣就可以了:
$ git push origin master
?上傳項(xiàng)目的過程可能需要等一段時(shí)間,完成之后是這樣的:
?這時(shí)候你再重新刷新你的Github頁面進(jìn)入剛才新建的那個(gè)倉庫里面就會發(fā)現(xiàn)項(xiàng)目已經(jīng)成功上傳了:
至此就完成了將本地項(xiàng)目上傳到Github的整個(gè)過程。
另外,這里有個(gè)坑需要注意一下,就是在上面第七步創(chuàng)建遠(yuǎn)程倉庫的時(shí)候,如果你勾選了Initialize this repository with a README(就是創(chuàng)建倉庫的時(shí)候自動給你創(chuàng)建一個(gè)README文件),那么到了第九步你將本地倉庫內(nèi)容推送到遠(yuǎn)程倉庫的時(shí)候就會報(bào)一個(gè)failed to push some refsto?https://github.com/guyibang/TEST2.git的錯(cuò)。
? ? ??這是由于你新創(chuàng)建的那個(gè)倉庫里面的README文件不在本地倉庫目錄中,這時(shí)我們可以通過以下命令先將內(nèi)容合并以下:
$ git pull --rebase origin master
這時(shí)你再push就能成功了。
? ? ?總結(jié):其實(shí)只需要進(jìn)行下面幾步就能把本地項(xiàng)目上傳到Github
1、在本地創(chuàng)建一個(gè)版本庫(即文件夾),通過git init把它變成Git倉庫;
2、把項(xiàng)目復(fù)制到這個(gè)文件夾里面,再通過git add .把項(xiàng)目添加到倉庫;
3、再通過git commit -m "注釋內(nèi)容"把項(xiàng)目提交到倉庫;
4、在Github上設(shè)置好SSH密鑰后,新建一個(gè)遠(yuǎn)程倉庫,通過git remote add origin?https://github.com/guyibang/TEST2.git將本地倉庫和遠(yuǎn)程倉庫進(jìn)行關(guān)聯(lián);
5、最后通過git push -u origin master把本地倉庫的項(xiàng)目推送到遠(yuǎn)程倉庫(也就是Github)上;(若新建遠(yuǎn)程倉庫的時(shí)候自動創(chuàng)建了README文件會報(bào)錯(cuò),解決辦法看上面)。
? ? ? 這里只是總結(jié)了Git上傳項(xiàng)目的一些基本操作,要想更好地使用Git還需更進(jìn)一步的學(xué)習(xí)。