git學習(1)將本地倉庫與遠程倉庫建立聯繫,並上傳項目到遠程倉庫

<1> 先在本地git中和github中分別創建一個倉庫

a、創建本地倉庫

b、創建遠程倉庫

<2>由於本地倉庫與遠程倉庫的傳輸是通過SSH加密的,首先創建SSK KEY

a、本地是否已經設置過SSK,找到用戶目錄,檢查有沒有.ssh目錄,再看這個目錄下有沒有id_rsa和id_rsa.pub這兩個文件

b、如果沒有上述三個目錄,可以在Windows目錄下打開Git Bash,創建SSH KEY

首先配置git命令的環境變量:

1111

到目前爲止:可以在用戶主目錄裏找到.ssh目錄,裏面有id_rsaid_rsa.pub兩個文件,這兩個就是SSH Key的祕鑰對,id_rsa是私鑰,不能泄露出去,id_rsa.pub是公鑰,可以放心地告訴任何人。

<3>在github中註冊剛剛生成的公鑰, 讓遠程倉庫可以識別上傳資源的確實是本人

爲什麼GitHub需要SSH Key呢?因爲GitHub需要識別出你推送的提交確實是你推送的,而不是別人冒充的,而Git支持SSH協議,所以,GitHub只要知道了你的公鑰,就可以確認只有你自己才能推送。當然,GitHub允許你添加多個Key。假定你有若干電腦,你一會兒在公司提交,一會兒在家裏提交,只要把每臺電腦的Key都添加到GitHub,就可以在每臺電腦上往GitHub推送了。

將.ssh目錄下的公鑰的內容粘貼到github這個爲止,註冊一個SSH Key

<4>將本地庫的master分支與遠程庫的master分支建立聯繫

目前,在GitHub上倉庫還是空的,這時候可以從這個倉庫克隆出新的倉庫,也可以把一個已有的本地倉庫與之關聯,然後,把本地倉庫的內容推送到GitHub倉庫。

$ git remote add origin [email protected]:michaelliao/learngit.git

a、首先檢查本地庫有沒有已經關聯的遠程庫,如果已經有了可以刪除,或者可以重新建立一個,別重名

查詢: git remote -v

000@WIN-5B0M5RN6I1I MINGW64 /e/Git_Repository (master)
$ git remote -v
origin  https://github.com/wet5649/keepSmile.git (fetch)
origin  https://github.com/wet5649/keepSmile.git (push)

查詢之後,發現已經關聯了兩個遠程庫,可以先刪除這種關聯。
刪除:git remote remove origin

000@WIN-5B0M5RN6I1I MINGW64 /e/Git_Repository (master)
$ git remote remove origin

000@WIN-5B0M5RN6I1I MINGW64 /e/Git_Repository (master)
$ git remote -v

新建:git remote add origin 遠程庫的地址(可以使用https或者ssh的方式新建)

000@WIN-5B0M5RN6I1I MINGW64 /e/Git_Repository (master)
$ git remote add origin  [email protected]:wet5649/tedu.git

<5>將本地庫的內容推送到遠程倉庫上

a、在建立本地庫後,首先需要將本地庫文件夾下的文件都添加到本地庫暫存區中

git add .

000@WIN-5B0M5RN6I1I MINGW64 /e/Git_Repository (master)
$ git add .

出現報錯信息:在項目根目錄下找到 .git 文件夾。找到文件夾裏面的index.lock 文件,將其刪除,即可解決問題。

重新執行命令:$ git add . //這個點就是代表目錄下的全部文件

b、將本地暫存區的內容提交到本地庫中

git commit -m "註釋內容"

000@WIN-5B0M5RN6I1I MINGW64 /e/Git_Repository (master)
$ git commit -m "第一次提交文件到遠程庫"
[master 5edfdb8] 第一次提交文件到遠程庫
 1 file changed, 1 deletion(-)
 delete mode 100644 helloGit.txt

c、將本地庫的內容上傳到遠程庫中

git push -u origin master 

000@WIN-5B0M5RN6I1I MINGW64 /e/Git_Repository (master)
$ git push -u origin master
Warning: Permanently added the RSA host key for IP address '192.30.253.113' to the list of known hosts.
Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 4 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (7/7), 693 bytes | 693.00 KiB/s, done.
Total 7 (delta 0), reused 0 (delta 0)
To github.com:wet5649/tedu.git
 * [new branch]      master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

git push命令,實際上是把當前分支master推送到遠程;由於遠程庫是空的,我們第一次推送master分支時,加上了-u參數,Git不但會把本地的master分支內容推送的遠程新的master分支,還會把本地的master分支和遠程的master分支關聯起來,在以後的推送或者拉取時就可以簡化命令。

可以看到本地的內容已經上傳到了遠程倉庫中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章