1. 程式人生 > >(git)git基本操作及使用GitHub

(git)git基本操作及使用GitHub

理解工作區、暫存區、分支

這篇已經畫出了工作區、暫存區和分支的草圖。注意git add是把工作區內容存到暫存區,git commit是把暫存區的內容提交到分支。

在這裡插入圖片描述

在這裡插入圖片描述 git diff head -- test.txt顯示工作區與分支的區別

撤銷修改

在這裡插入圖片描述

  • 如果在工作區修改了檔案,還沒有新增到暫存區,可以用git checkout -- test.txt撤銷工作區的修改。
  • 如果在工作區修改了檔案,已經新增到暫存區,可以用git reset head test.txt撤銷暫存區的修改,再用git checkout -- test.txt撤銷工作區的修改,完美!

刪除檔案

  • 同Linux刪除檔案命令:$ rm test.txt
    ,這將刪除工作區的檔案。
  • 刪除分支中的檔案(刪除是修改操作,要提交): $ git rm test.txt git commit -m "delete test.txt"

使用GitHub

首先根據GitHub官方教程或其他部落格教程,註冊GitHub賬號,並建立一個倉庫。然後把本地master分支和GitHub倉庫分支關聯起來:git remote origin add GitHub倉庫ssh地址(移除關聯:git remote rm origin),origin是自己為遠端GitHub倉庫取得別名,方便以後書寫。然後git push origin master從本地master上傳到GitHub,會發現報錯: 在這裡插入圖片描述

思考下,確實還沒有和自己的遠端GitHub建立連線,需要先用SSH協議建立連線,需要先獲得RSA金鑰。輸入命令ssh-keygen,一直回車。按照預設路徑會在C:\Users\uername\下生成.ssh目錄,這個目錄下面生成了RSA公鑰和私鑰。 在這裡插入圖片描述 然後用記事本開啟is_rsa.pub,複製該檔案裡的所有內容,貼上到GitHub賬號中的profile下的SSH keys中: 在這裡插入圖片描述 此時,再輸入命令ssh -T -v [email protected]就建立起和GitHub網站的連線啦。出現下面的提示資訊: Hi xxx! You’ve successfully authenticated, but GitHub does not provide shell access.

現在就可以git push -u origin master上傳檔案到Github了,但是,但是還會遇到問題,需要把先git pull --rebase origin master把GitHub倉庫裡的東西拖下來(就是因為GitHub建立倉庫的時候多建立了一個README.md),然後再上傳就可以了。

所以筆者建議從本地往GitHub裡面傳東西或從GitHub往本地克隆的時候,最好保證GitHub的倉庫是空的。

從GitHub倉庫中克隆一份下來的時候,也最好保證本地倉庫是空的,直接執行git clone GitHub倉庫ssh地址即可。