git工具的使用方法

一、SVN與git的區別
SVN是“集成式”管理方式,所有的“版本控制器”都在中央服務器上,每個開發人員的的計算機都要連接到中央服務器上才能進行合作開發。開發人員一般只能在公司才能進行開發(因爲中央服務器在公司),侷限性較大。
git是“分佈式“管理方式,開放人員的每臺計算機上都有一個“版本控制器”,每個開發人員把自己開發的模塊的代碼都上傳到github上(充當一個遠程倉庫,類似與“中轉站”的作用),其他人可以從github上下載相應的代碼進行開發。git方式不需要中央服務器,開發人員可以做到“隨時隨地”的開發。(因爲github是一個公用的平臺,只要在有網的地方,就可以登陸去下載相應的代碼版本)。

二、git工具的安裝
1.打開github的網站 https://github.com/ ,登陸github(如果沒有github賬號的話,要先去註冊一個,注意:郵箱和設置的用戶名儘量是自己經常用的,而且用戶名不要太複雜,因爲在git命令裏面會用到)。
2.創建一個”倉庫(create repositories)“,給倉庫起一個名字,比如”drag“(一般名字和自己項目的功能有關,儘量做到”見名知義“)。
3.可以”勾選上“ Readme,(也可以不勾選),這是對你創建的項目的一個簡單介紹。
4.把自己創建的項目(比如上面的drag)從github上,下載到本地,以便在本地進行開發。通過以下的命令進行實現:
假如你想把你的項目放在E盤的myProjects文件夾下:
cd E: (按回車)
cd myProjects git clone url (按回車,這裏的url是你在github上創建項目時,自動生成的一個網址,在github上可以找到。)
這個命令執行完畢後在myProjects文件夾下會有一個drag文件夾,一個readme文件(或許沒有)
5.設置”貢獻者“,貢獻者就是指參與該項目開發的人(在開發工程中,如果你對代碼進行了修改,別人能夠查看你做了哪些修改),設置貢獻者的git命令如下:
git config –global user.name “註冊時起的用戶名”
git config –global user.email “註冊時的郵箱”
貢獻者設置完成後,可以通過git config –global uer.name 命令查看設置的用戶名,git config –global user.email 查看設置的郵箱。

三、git的主分支和三個區的介紹
1.主分支master:主分支一般是開發過程中”穩定“一個部分,爲了防止在開發過程中出現意外把”主分支“破壞掉。一般會另開一個”分支“(非主分支,比如起名next),在next分支上進行開發,開發完成後,再合併到主分支master上。
2.git的三個區:工作區、暫存區、版本區。
工作區:drag文件夾下的所有文件
暫存區的左用
(1).作爲過渡層
(2).避免誤操作
(3).保護工作區和版本區 (內容丟失後,可以從”暫存區“找回)
(4).分支處理 (比如:把正在進行開發的分支上的內容暫時放到”暫存區“,去修改其他分支上的bug)
版本區:主分支”master”
三個區之間的聯繫:一般是在”工作區“進行開發,然後提交到”暫存區“,再有”暫存區“提交到“版本區”
工作區——>暫存區———->版本去
四、git工具的常用命令
1.git status 查看“工作區”和“暫存區”的狀態
2.git add filename 把文件從“工作區”添加到“暫存區” (工作區中還有該文件)
3.git add . 把工作區下的所有文件都添加到暫存區
4.git commit filename 把文件從“暫存區”提交到“版本區”
5.git commit 把暫存區中的所有文件都提交到“”版本區 會彈出一個記事本,讓我們添加註釋
6.git commit -m “自己寫的一些註釋” 我們直接添加註釋,這樣不會彈出一個記事本去添加註釋
7.git reset HEAD filename 把文件從“暫存區”撤回到“工作區”
8.git commit -a -m “自己寫的註釋” 把文件從“工作區”直接提交到“版本區”(本質上沒有跳過暫存區,-a其實就是添加到暫存區)
正常的流程是:工作區中的文件發生改變(git status命令可以查看)–>git add filename(填到暫存區)–>git commit filename(提交到版本區)–>git push origin master(把版本區中的文件同步到github上)–>刷新你的github賬戶就可以看到新添加的文件

五、對比命令(主要用來查看工作區、暫存區、版本區三個區之間的文件中的代碼有什麼不同之處)
1.git diff 查看工作區與暫存區文件之間的差異
2.git diff –cached(或者–staged) 查看“暫存區”與“版本區”文件之間的差異
3.git diff 分支名字 查看“工作區”與“版本區”文件之間的差異

六、撤銷命令
1.git reset HEAD 文件名 將文件從“暫存區”撤回到“工作區”
2.git checkout – 文件名 將“工作區”的文件撤銷回之前“版本區”的文件
3.git commit –amend 如果有“誤提交”,想對提交重新操作(比如:有A,B兩個文件,把A提交了,而B沒有提交,我們想要的是A,B一起提交,此時就可以將B提交到暫存區,然後用git commit –amend),此時,A,B就能夠一起提交了

七、git的刪除命令
//工作區的文件可以隨意的創建和刪除(就像平常在電腦上創建和刪除其他文件一樣)
1.git rm 文件名 把暫存區的文件刪除(前提是:工作區沒有該文件,暫存區有該文件)
2.git rm -f 文件名 當“工作區”和”暫存區“都有某個文件時,此命令會把”工作區“和”暫存區“的該文件都刪除
3.git rm –cached 文件名 當”工作區“和”暫存區“都有某個文件時,此命令會把”暫存區“的該文件刪除,但是”工作區“的該文件不會被刪除,仍然存在

八、文件恢復命令
1.git checkout id名 文件名 把”工作區“的某個文件刪除後,用該命令可以恢復回來
2.git reset –hard id名 恢復整個版本的文件(文件也許有多個)
3.git reset –hard id名 HEAD^ 恢復到過去某一個版本的文件(可能有多個文件)
4.git reset –hard HEAD~數字 恢復到過去的某一個版本的文件(當數字爲1的時,其實就是上面的HEAD^)
5.git reflog 執行上面的3或者4命令後,又想回到現在的版本,可以此命令調出文件的多個版本的id,然後從中找到現在版本的id,然後再調用git reset –hard id名 命令恢復到現在這個版本

十、將本地文件同步到github的”遠程倉庫“上
通過命令:git push 遠程倉庫名字 同步的分支名 將版本區中的文件同步到github的倉庫中
可以通過git remote 命令查看遠程倉庫的名義,默認是 origin
可以通過 git remote -v 命令可以查看遠程倉庫的地址

十一、多人協作開發下,解決衝突
1.git fetch
git diff master origin/master 查看遠程和本地的不同
git merge origin/master 發現不同後,手動合併
2.git pull (把遠程倉庫中的代碼拿下來和本地的代碼自動合併)

十二、git下的分支(有利於多人協作開發)
1.git branch 查看分支
2.git branch new1 創建了一個新的分支new1
3.git checkout new1 切換到new1分支下
4 簡寫:git checkout -b new2 創建並切換到new2分支下
5.分支的合併:
假如在new1分之下,有了新的修改(有了c5版本),如果想把master分支下的代碼也變成c5版本,需要進行分支合併,方法如下:
1.切換到master分支下:git checkout master
2.用git merge new1 命令 這樣,master和new1分支就合併了,此時,master分支的指針也指向了c5
6. git branch –merged 查看已經合併的分支
7.git branch –no-merged 查看沒有合併的分支
8. 一般來說,new1分支與master分支合併後,new1分支就沒用了,可以刪除掉new1分支了
1.git branch -d new1 把合併後的new1分支刪除掉(如果new1分支沒有合併,用此命令是無法刪除的)
2.git branch -D new2 強制把沒有合併的分支刪除
9.當不同分支下的代碼進行合併時,有可能會發生衝突(如:master分支與new1分支下的代碼合併)
假如當前在master分支下:
1.合併 git merge new1
2.有衝突提示,git status 能夠看到有衝突的分支
3.把有衝突的文件手動修改,修改完成後重新提交,git commit -a -m “註釋”
10.將git 上的分支同步到github上
git push 倉庫名 分支名 比如: git push origin new1 把new1分支同步到github上

十三、github上的標籤release,一般是指項目開發完成後,給項目標記的版本
1.git tag 查看標籤
2.git tag v1.0 創建標籤v1.0
3.git push origin(倉庫名) v1.0(標籤名) 將v1.0標籤同步到github上

十四、git工具上的常用輔助命令
1. cd.. 返回上一級
2. ls 查看文件下的目錄結構
3. mkdir hello 創建一個hello文件夾
4. tab鍵 自動補全git 命令
5. git config –global alias co checkout 給checkout起一個別名co,之後可以用co來代替checkout
6. enter 繼續查看沒有顯示出來的日誌記錄(git log)
7. q鍵 退出日誌查看界面
8. 工作區:數字是紅色
9. 暫存區:數字是綠色
10. ~:代表有修改
11. !:代表有衝突

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章