(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地址
即可。