Git&GitHub學習筆記(一)
一.Git基本概念
repository
repository是倉庫的意思,如果你想開源一個項目,那麼你就必須建立一個repository。
issue
issue是問題的意思,如果你的開源項目中有bug或者有不好的地方,那麼別人就可以給你提意見,這就是issue。提的意見多了就是issues。你看到這些issues就可以去修復。
star
star就是給你的項目“點贊”。不過GitHub上得到別人的點贊還是比較難的。
fork
fork原本的意思是“叉子”。這可以理解爲別人想在你的項目上做改動,然後把它運用到自己的項目上。
Pull Request
Pull Request是發起請求的意思。別人fork了你的項目以後,做了改動,然後他想把他改動後的項目合併到原來的項目中,那麼他就可以發起請求。此時,你就會收到這個請求,你可以審查他的代碼,如果你同意,那麼就接受這個請求。
Watch
Watch是“關注”的意思,可以類比微博中的關注。當你關注了某個項目,那麼這個項目有任何的更新,你都會收到通知。
二.Git基本命令
注意: 在使用Git命令之前,要先建立一個文件,這個文件就是Git倉庫。所有的Git命令都要在這個文件中進行。
git init
倉庫初始化,就是把那個文件變成倉庫文件。
git status
查看狀態。
git add
git add命令是用來操作想要提交的文件。例如,git add a.md 命令執行後,a.md文件就處於等待被提交的狀態。
git commit -m “提交信息”
這是正式提交命令。上述的git add命令只是讓文件處於緩衝區,並沒有真的提交,這樣做的目的是防止誤提交。-m 後面表示此次提交的提交信息。
git log
git log用於查看所有的提交記錄。
git branch
git init對倉庫初始化以後,會默認建立一個名爲master的分支。git branch用來查看分支的情況。
git branch a
新建一個名爲a的分支。
git checkout a
切換到a分支。
git checkout -b a
把git branch a和git checkout a這兩個命令合併爲一個命令,即新建一個名爲a的分支並自動切換到a分支。
git branch -d
刪除分支。例如:git branch -d a 就是刪除分支a的命令。
git branch -D
強制刪除分支。因爲git branch -d 有可能刪除分支失敗,所以需要強制刪除。
git tag
首先介紹一下版本的概念,我們在開發軟件的時候,都會有版本號,比如v1.0,v1.1。那麼如果v1.1出現了bug,此時想知道v1.0有沒有bug,只需要切換到v1.0然後測試代碼即可。那麼,這麼做的前提就是建立標籤。
git tag v1.0 就是在當前代碼狀態下建立了一個v1.0的標籤。而git tag 是查看歷史tag記錄。
git checkout v1.0
git checkout 不僅有切換分支的功能,還有切換標籤的功能。
git clone
從遠程倉庫clone項目到本地。可以把clone理解爲複製。例如要把名爲test的遠程項目clone到本地,可以執行如下命令:
git clone [email protected]:renyixu/test
此處的[email protected]:renyixu/test
可以從GitHub網站對應的項目中獲取,這個我相信你們可以解決。
git pull origin master
把遠程倉庫的代碼同步到本地。
git push origin master
把本地的代碼同步到遠程倉庫。
git remote -v
查看當前項目有哪些遠程倉庫。
git remote add origin [email protected]:renyixu/test
把本地項目與遠程倉庫關聯。
三.提交代碼
向遠程倉庫提交代碼有兩種方式:
方式1:
本地沒有Git倉庫。從GitHub上clone下某個項目(假設爲test項目),此時test項目就被clone到了本地了,而且此時的本地的test項目已經是一個完整的倉庫,不需要進行倉庫初始化,而且也不需要與遠程的倉庫關聯了,可以直接進行提交。
方式1的具體提交代碼的操作:
1.切換到本地test項目下。
2.git add 你想要提交的文件(如果有多個要提交的文件,那麼就需要進行多次git add命令,即每個文件都需要進行一次git add命令)。
3.git commit -m "提交信息"
4.git push origin master
方式2:
本地有Git倉庫。
方式2的具體提交代碼的操作:
1.在GitHub上創建一個test01項目(此處以test01項目爲例)。
2.在本地新建一個test01文件,並切換到test01目錄。
3.初始化test01倉庫,具體命令爲:git init
4.把本地倉庫與遠程倉庫關聯。具體的命令爲:git remote add origin [email protected]:renyixu/test01 ,此處的origin是給倉庫取的名字,當然名字可以隨便取,不過當只有一個遠程倉庫的時候,一般默認就取origin。
5.把遠程倉庫的文件同步到本地倉庫,這是很重要的一步,沒有這一步,後面提交代碼的操作就會失敗。具體的命令爲:git pull origin master
6.git add你想要提交的文件,同方式1,此處不再贅述。
7.git commit -m "提交信息"
8.git push origin master