git與github的區別
git是一個版本管理工具,是可以在你電腦不聯網的情況下,只在本地使用的一個版本管理工具,其作用就是可以讓你更好的管理你的程序,比如你原來提交過的內容,以後雖然修改了,但是通過git這個工具,可以把你原來提交的內容重現出來,這樣對於你後來才意識到的一些錯誤的更改,可以進行還原。
github是一個網站,就是每個程序員自己寫的程序,可以在github上建立一個網上的倉庫,你每次提交的時候可以把代碼提交到網上,這樣你的每次提交,別人也都可以看到你的代碼,同時別人也可以幫你修改你的代碼,這種開源的方式非常方便程序員之間的交流和學習。
總結來說,git可以認爲是一個軟件,能夠幫你更好的寫程序,github則是一個網站,這個網站可以幫助程序員之間互相交流和學習。
使用github目的
藉助github託管項目代碼
github基本概念
倉庫(repository)
倉庫就是你的項目,你想在github上開源你的一個項目,你就需要新建一個repository,如果你有9多個開源項目,你就擁有了多個repositories
收藏(star)
倉庫主頁的star按鈕,意思是收藏該項目的人數
分叉(fork)
fork的意思是,如果你開源了一個項目,別人想在你這個項目的基礎上做些改動,然後應用到自己的項目中,這個時候他就可以fork你的項目(打開項目主頁 點擊右上角的fork按鈕即可),然後他的github主頁上就多了一個項目,只不過這個項目是基於你的項目基礎(本質上是在原有的基礎上新建了一個分支),他就可以隨心所欲的去改進,但是絲毫不會影響原有項目的代碼和結構
發起請求(pull request)
發起請求,這個是基於fork的(首先你得fork項目),還是上面分叉fork的例子,如果別人在你的基礎上做了改進,後來覺得改進的很不錯,應該要把這些改進讓更多人受益,於是就想把自己的改進合併到原有的項目裏,這個時候他就可以發起一個pull request(簡稱PR),原有的項目創建人,也就是你,就可以收到這個請求,這個時候你就會仔細review他的代碼,並且測試覺得OK了,就會接受他的PR,這個時候他做的改進,原有項目就會擁有了
關注(watch)
如果你watch了某個項目,那麼以後只要這個項目有任何更新,你都會第一時間收到關於這個項目的通知提醒
事務卡片(issue)
發現代碼bug,但是目前沒有成型代碼,需要討論時用
舉個例子:就是你開源了一個項目,別人發現你項目中有bug,或者哪些地方做的不夠好,他就可以給你提個issue,就是提問題。提的問題多了,也就是issues,然後你就看到了這些問題就可以逐個去修復,修復ok了就可以把issue一個個的close掉
創建倉庫/創建新項目
第一步:進入github主頁,登錄,點擊右上角的加號,點擊new repository
第二步:進入創建倉庫界面
下圖是我創建倉庫的例子:
點擊創建之後,進入了這個界面:
我現在需要將自己的項目代碼和文件上傳,點擊add file:
點擊upload files,進入一下界面:
可以直接拖入文件,或者選擇文件,這裏我將我的文件拖入(注意這裏網頁上拖只能傳25mb以下的文件,傳更大文件,需要用到後文說的在本地的git):
接下來是寫commit,在GitHub中,保存變化被稱爲commit,每個commit可以添加描述來讓別人知道做了哪些改變、爲什麼做這些改變,下圖是我的commit:
點擊commit changes之後,自動回到倉庫主頁,如下圖:
這裏我們修改readme文件,如下圖:
我在readme文件中,增添了以下兩行:
這時候,倉庫主頁就能顯示出在readme中修改的內容了:
Git的使用和安裝
使用git的目的:
通過git來管理github託管項目代碼
下載安裝:
官方下載地址:https://git-scm.com/downloads
下載完成後,安裝下一步下一步下一步。。。。
選擇使用命令行環境
繼續默認下一步下一步全部下一步,最後安裝完成,退出。
檢驗是否安裝成功:在桌面上鼠標右鍵單擊,若出現以下兩個,則安裝成功
git的基本工作流程
git初始化及倉庫創建和操作
git安裝完成之後,需要進行一些基本信息設置
- 設置用戶名:
git config --global user.name 'ryanwang27(github的用戶名)'
- 設置用戶名郵箱:
git config --global user.email '[email protected](github的郵箱)'
- 查看設置:git config --list
操作:在桌面上新建一個文件夾,形成一個工作目錄,進入新建的文件夾,鼠標右鍵單擊,進入命令行模式
輸入兩行代碼,並回車,這樣就配置成功(注意該設置在github倉庫顯示誰提交了該文件)
初始化一個新的git倉庫
- 創建文件夾
在上一步創建的文件夾中,再創建一個文件夾,我給他命名爲test(名字自己定)
- 在文件內初始化git(創建git倉庫)
進入test文件夾,鼠標右鍵在空白處單擊,選擇命令行模式:
- 再輸入:
git init
,就會在test目錄下生成一個隱藏文件.git
向倉庫添加文件
第一步:我直接把文件添加到test文件夾內。
第二步,添加到暫存區
git add 1.py
輸入git status,可以看到我們的1.py已經到暫存區了
第三步:將暫存區的文件提交到倉庫git commit -m 'add 1.py'
我們再使用git status 驗證一下,可以看到working tree已經乾淨了,說明文件已提交到倉庫了
修改倉庫文件
我直接在Windows界面,用編輯器打開1.py,修改裏面的內容,再保存。
再git status
,可以看出1.py是修改過的
再git add 1.py
將文件提交到暫存區
再git commit -m '第一次修改git文件並提交到倉庫'
,將暫存區的文件提交到倉庫(步驟類似)
刪除倉庫文件
首先,直接在Windows界面把1.py刪除
再把git中文件刪除 git rm 1.py
最後提交操作,git commit -m '提交描述'
git管理遠程倉庫【重點】
上文的git***操作都是在本地進行的,如何通過git,對github上的倉庫進行增刪改查呢? ----就要使用git來管理遠程倉庫
使用遠程倉庫的目的:備份,實現代碼共享集中化管理
第一步:先進行克隆
目的:將遠程倉庫(github對應的項目)複製到本地
先在github中的倉庫首頁複製倉庫地址
再在新建的文件夾中,空白位置右鍵單擊
輸入 git clone https://github.com/ryanwang27/kcf_matlab.git
克隆成功,在新建的文件夾中,就出現了我們的倉庫文件
接下來 我們需要做的就是在本地倉庫中做操作,再提交到遠程倉庫
這裏我向倉庫添加了一個文件fhog.m
再在該倉庫的空白處 右鍵單擊
現在再將文件過渡到暫存區git add data.zip
再提交 git commit -m 'fhog.m'
將暫存區提交到本地倉庫
再git push
將本地倉庫同步到遠程倉庫
這裏,就成功了。
我們在進入github網站,可以看到,遠程倉庫中已經有fhog.m這個文件了