常用Git命令

1. 將當前目錄設置成一個Git倉庫

//進入需要創建Git倉庫的目錄,然後輸入命令,則當前目錄就被設置成了一個Git倉庫,默認會自動生成一個.git文件夾
git init 
//在創建項目時就將項目目錄設置成一個Git倉庫
git init projectName

2. 將項目提交到本地倉庫

//將修改文件提交到暫存區的持久化容器中,可以同時提交多個文件
git add fileName1 fileName2
//將代碼提交的Git倉庫中,每次提交最好都加上後面的描述信息
git commit -m "description"
//查看git代碼提交狀態
git status

3. 查看修改內容

工作區和暫存區詳細介紹

HEAD ———-> commit版本

Index ———-> staged版本(暫存區)

//比較的是工作目錄(Working tree)和暫存區域快照(index)之間的差異也就是修改之後還沒有暫存起來的變化內容
git diff
//查看已經暫存起來的文件(staged)和上次提交時的快照之間(HEAD)的差異
git diff --cached
git diff --staged
//顯示工作區版本(Working tree)和HEAD的差別
git diff HEAD
//查看簡化的diff結果,可以加上--stat參數
git diff --stat

4. 查看git日誌

//按照時間倒敘排列提交日誌
git log
//顯示提交信息的簡單版本
git log --oneline
//可以顯示每次提交包含的文件
git log --stat
//顯示每次提交之間哪些內容改變
git log --patch
//查看分支合併圖
git log --graph
//查詢自己所有的操作以及對應版本的commit id
git reflog

5. 版本回退

//回退到上一個版本,上一個版本就是HEAD^,上上一個版本就是HEAD^^,往上n個版本寫n個^比較容易數不過來,所以寫成HEAD~n
git reset --hard HEAD^
//回退到之前的某個版本,commit_id可以通過git log命令得到,若要回到未來版本,需要用git reflog來得到commit_id
git reset --hard commit_id

6. 撤銷修改

//場景1:當改亂了工作區某個文件的內容,想直接丟棄工作區的修改時
git checkout --fileName

//場景2:不但改亂了工作區某個文件的內容,還添加到了暫存區時,想丟棄修改
//先回到場景1
git reset HEAD fileName
git checkout --fileName

場景3:已經提交了不合適的修改到版本庫時,想要撤銷本次提交,可以使用版本回退命令,不過前提是沒有推送到遠程庫。

7. 刪除文件

//將文件從版本庫中刪除,同時提交修改
git rm fileName
git commit -m "remove test.txt"
//如果文件已經提交到版本庫並且被誤刪了,還可以使用如下命令還原
git checkout --fileName

8. 添加遠程倉庫

//關聯一個遠程庫
git remote add origin git@server-name:path/repo-name.git
//第一次推送master分支的所有內容,第一次推送需要-u選項
git push -u origin master

9. 從遠程倉庫克隆

//後面填寫需要克隆倉庫的地址
git clone git@github.com:michaelliao/gitskills.git

10. 創建與合併分支

創建與合併分支詳解

//查看分支
git branch
//創建分支(<name>爲分支名)
git branch <name>
//切換分支
git checkout <name>
//創建+切換分支
git checkout -b <name>
//合併某分支到當前分支
git merge <name>
//刪除分支
git branch -d <name>

當多個分支同時修改了同一個文件時候,需要解決分支衝突,分支衝突通常需要手動解決。
解決分支衝突詳解

11. 分支管理策略

在實際開發中,應該按照幾個基本原則進行分支管理:

首先,master分支應該是非常穩定的,也就是僅用來發布新版本,平時不能在上面幹活;

那在哪幹活呢?幹活都在dev分支上,也就是說,dev分支是不穩定的,到某個時候,比如1.0版本發佈時,再把dev分支合併到master上,在master分支發佈1.0版本;

你和你的小夥伴們每個人都在dev分支上幹活,每個人都有自己的分支,時不時地往dev分支上合併就可以了。

所以,團隊合作的分支看起來就像這樣:
團隊合作

12. BUG分支

參考:BUG分支

13. 多人合作

實際工作中的情況:多人合作詳解

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