通過git管理GitHub托管項目代碼,是分布式版本控制系統(之前用過的SVN是集中式版本控制系統)。雖然GitHub也可以管理代碼,但實際過程中是通過git來操作。(在本地用的版本控制一般用的是git,服務器上面一般用的是GitHub)
Git相對於SVN的優勢:
1.本地版本控制,每台計算機在本地都有自己的版本庫,不需要聯網就可以控制版本。
2.重寫提交申明,即可以修改之前提交的說明(如a.txt “這是我的文件”),但SVN提交一次說明后就不能進行修改或刪除。
3.在git上的每一次操作都可以回滾。
4.分支系統,可以使同一個項目對於不同的需求產生多條分支。
5.git是全量(每個版本都包含全部的文件,時刻保持數據的完整性),svn是增量(若想要找當前版本沒修改的文件,必須回退到上一版本去尋找)
Git的三種狀態:
1.已修改(modified)2.已暫存(staged)3.已提交(commited)
git的三個工作區域分別為:工作區,暫存區,git倉庫(對象區)
Git的基本工作流程:
工作區是進行文件的增刪改查操作的,通過add命令提交到暫存區,暫存區通過commit命令提交到git倉庫。
1.創建文件
第一步:創建一個文件(a1.php)(新建文件:touch a1.txt)
第二步:使用“git add 文件名”(”git add .”是一次添加所有工作區的文件) 添加到暫存區:
第三步:使用git commit將文件提交到倉庫:git commit -am “***” (先add后commit)
2.修改文件
修改命令:“vi 文件名”
輸入i進入編輯模式,在編輯模式下按下ESC鍵退出編輯模式,輸入【:q!】命令后回車表示放棄對文件的修改並退出vi,輸入【ZZ】表示保存修改並退出vi
3.刪除文件(git rm 文件名)
1.“git rm 文件名”刪除之后的文件被放到暫存區 (用操作系統的“rm 文件名“命令后刪除的文件被放到工作區,需要把文件添加到暫存區才能提交刪除命令徹底刪除)
2.“git commit -m “***” “命令提交之后才能徹底刪除
撤銷刪除操作:
1.”git reset head 文件名”將文件恢復到工作區
2.“git checkout -- 文件名“將刪除的動作撤銷(注意:--與文件名之間有空格)
以上只是本地操作,GitHub倉庫並沒有改變。
Git遠程倉庫的操作:實現代碼的共享
四個步驟:
1. 創建/修改/刪除文件(modified)
2. 添加到暫存區(add)
3. 添加到本地倉庫(commited)
4. 添加到遠程倉庫(push)
Git克隆操作:
git clone倉庫地址可以在GitHub上復制
執行git clone命令后,就把GitHub上的項目下載到本地了
提交到遠程倉庫:(第一次提交需要驗證GitHub用戶信息)
為了保證倉庫的安全性,可續設置權限:
將.git隱藏文件夾下面的config文件中的
修改為