Git的安裝就不說了。接下來一步一步的教大家怎么做,簡要步驟可以直接看最后的總結(jié)。
1.我們需要先創(chuàng)建一個(gè)本地的版本庫(其實(shí)也就是一個(gè)文件夾)
你可以直接右擊新建文件夾,也可以右擊打開Git bash命令行窗口通過命令來創(chuàng)建。
現(xiàn)在我通過后者來實(shí)現(xiàn),在創(chuàng)建好的文件夾上右鍵Git bash here打開命令窗口。
2.通過命令git init把這個(gè)文件夾變成Git可管理的倉庫

這時(shí)你會(huì)發(fā)現(xiàn)TEST里面多了個(gè).git文件夾,它是Git用來跟蹤和管理版本庫的。如果你看不到,是因?yàn)樗J(rèn)是隱藏文件,那你就需要設(shè)置一下讓隱藏文件可見。
3.把你的項(xiàng)目粘貼到這個(gè)本地Git倉庫
這時(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)目全部添加到倉庫上。

4.用git commit把項(xiàng)目提交到倉庫

-m后面引號里面是本次提交的注釋內(nèi)容,這個(gè)可以不寫,但最好寫上,不然會(huì)報(bào)錯(cuò),詳情自行Google。 好了,我們本地Git倉庫這邊的工作做完了,下面就到了連接遠(yuǎn)程倉庫(也就是連接Github)
由于本地Git倉庫和Github倉庫之間的傳輸是通過SSH加密的,所以連接時(shí)需要設(shè)置一下.
5.創(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è)文件.
6.Github上創(chuàng)建新項(xiàng)目文件
登錄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的加密。具體步驟也可看下面:




7.在Github上創(chuàng)建一個(gè)Git倉庫
你可以直接點(diǎn)New repository來創(chuàng)建,比如我創(chuàng)建了一個(gè)TEST2的倉庫(因?yàn)槲依锩嬉呀?jīng)有了一個(gè)test的倉庫,所以不能再創(chuàng)建TEST倉庫)。


創(chuàng)建好之后,復(fù)制下面的地址,后邊會(huì)用到

8.Github倉庫和本地倉庫關(guān)聯(lián)
在Github上創(chuàng)建好Git倉庫之后我們就可以和本地倉庫進(jìn)行關(guān)聯(lián)了,根據(jù)創(chuàng)建好的Git倉庫頁面的提示,可以在本地TEST倉庫的命令行輸入:
$ git remote add origin *粘貼剛才復(fù)制的地址*
注意origin后面加的是你Github上創(chuàng)建好的倉庫的地址。
9.關(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è)倉庫里面就會(huì)發(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í)候自動(dòng)給你創(chuàng)建一個(gè)README文件),那么到了第九步你將本地倉庫內(nèi)容推送到遠(yuǎn)程倉庫的時(shí)候就會(huì)報(bào)一個(gè)failed to push some refs to https://github.com/guyibang/TEST2.git的錯(cuò)。

這是由于你新創(chuàng)建的那個(gè)倉庫里面的README文件不在本地倉庫目錄中,這時(shí)我們可以通過以下命令先將內(nèi)容合并以下:
$ git pull --rebase origin master
這時(shí)你再push就能成功了。
還有可能創(chuàng)建好之后,項(xiàng)目上會(huì)出現(xiàn)這樣的提示:

解決方案:
- 首先刪除package-lock.json 并同步到git,保證git上面沒有l(wèi)ock這個(gè)文件,不會(huì)出警報(bào);
- 然后在本地文件夾把package-lock.json 還原回來
- 找到一個(gè)叫做 .gitignore,把package-lock.json貼在這個(gè)文件里。(這個(gè)文件是專門填寫 需要git忽略掉的文件名字的)
- 再次同步到git,這個(gè)時(shí)候就會(huì)發(fā)現(xiàn),package-lock.json還是在本地文件夾里,但是不在git上,所以也就不會(huì)報(bào)錯(cuò)了。
總結(jié):
其實(shí)只需要進(jìn)行下面幾步就能把本地項(xiàng)目上傳到Github
- 創(chuàng)建本地文件夾,右鍵文件夾,選擇
Git bash here打開命令窗口。 - 輸入
git init把這個(gè)文件夾變成Git可管理的倉庫。 - 把需要上傳的項(xiàng)目粘貼到該文件夾里,然后命令窗口輸入
git add .,把剛才復(fù)制過來的項(xiàng)目全部添加到倉庫上。 - 輸入
git commit -m '描述'把項(xiàng)目提交到倉庫。 - 輸入
ssh-keygen -t rsa -C "youremail@example.com"創(chuàng)建SSH KEY(已創(chuàng)建的可忽略這一步)。 - 把第5步創(chuàng)建好的SSH KEY添加到Github(已添加過的可忽略這一步)。
- 在Github上創(chuàng)建一個(gè)Git倉庫,創(chuàng)建好之后復(fù)制項(xiàng)目地址。
- Github倉庫和本地倉庫關(guān)聯(lián),命令行輸入
git remote add origin *第7步復(fù)制的地址*。 -
git push -u origin master把本地庫的所有內(nèi)容推送到遠(yuǎn)程倉庫。
設(shè)置忽略文件
如果想忽略掉某個(gè)文件,不讓這個(gè)文件提交到版本庫中,可以使用修改 .gitignore 文件的方法。如果沒有 .gitignore 文件,就自己創(chuàng)建一個(gè),手動(dòng)創(chuàng)建會(huì)提示你輸入文件名稱,因此,你要用git客戶端創(chuàng)建:git客戶端進(jìn)入項(xiàng)目目錄,執(zhí)行 touch .gitignore 即可創(chuàng)建該文件。
這個(gè)文件每一行保存了一個(gè)匹配的規(guī)則例如:
.a # 忽略所有 .a 結(jié)尾的文件
!lib.a # 但 lib.a 除外
/TODO # 僅僅忽略項(xiàng)目根目錄下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目錄下的所有文件
doc/.txt # 會(huì)忽略 doc/notes.txt 但不包括 doc/server/arch.txt
參考文檔:http://www.findme.wang/share/detail/id/440.html
好了,這里只是總結(jié)了Git上傳項(xiàng)目的一些基本操作,要想更好地使用Git還需更進(jìn)一步的學(xué)習(xí)。參考文檔:Git教程 - 廖雪峰的官方網(wǎng)站