1. 程式人生 > >Git 常用命令手冊

Git 常用命令手冊

Git的四個組成部分

  1. 初始化倉庫

    git init
    
  2. 將檔案新增到倉庫

    # 將工作區的某個檔案新增到暫存區
    git add 檔名    
    
    # 新增所有被tracked檔案中被修改或刪除的檔案資訊到暫存區,不處理untracked的檔案
    git add -u 
    
    # 新增所有被tracked檔案中被修改或刪除的檔案資訊到暫存區,包括untracked的檔案
    git add -A 
    
    # 將當前工作區的所有檔案都加入暫存區
    git add .
    
    # 進入互動介面模式,按需新增檔案到快取區
    git add -i
    
    
  3. 將暫存區檔案提交到本地倉庫

    # 將暫存區內容提交到本地倉庫
    git commit -m "提交說明"
    
    # 跳過快取區操作,直接把工作區內容提交到本地倉庫
    git commit -a -m "提交說明" 
    
  4. 檢視倉庫當前狀態

    git status
    
  5. 比較檔案異同

    # 工作區與暫存區的差異
    git diff 
    
    #工作區與某分支的差異,遠端分支這樣寫:remotes/origin/分支名
    git diff 分支名 
    
     # 工作區與HEAD指標指向的內容差異
    git diff HEAD 
    
    # 工作區某檔案當前版本與歷史版本的差異
    git diff 提交id 檔案路徑 
    
    # 工作區檔案與上次提交的差異(1.6 版本前用 --cached)
    git diff --stage 
    
    # 檢視從某個版本後都改動內容
    git diff 版本TAG 
    
    # 比較從分支A和分支B的差異(也支援比較兩個TAG)
    git diff 分支A 分支B 
    
    # 比較兩分支在分開後各自的改動
    git diff 分支A...分支B 
    

    另外:
    如果只想統計哪些檔案被改動,多少行被改動,可以新增--stat引數

  6. 檢視歷史記錄

    # 檢視所有commit記錄(SHA-A校驗和,作者名稱,郵箱,提交時間,提交說明)
    git log 
    
    # 檢視最近多少次的提交記錄
    git log -p -次數
     
    # 簡略顯示每次提交的內容更改
    git log --stat 
    
    # 僅顯示已修改的檔案清單
    git log --name-only 
    
    # 顯示新增,修改,刪除的檔案清單
    git log --name-status 
    
    # 讓提交記錄以精簡的一行輸出
    git log --oneline
    
    # 圖形展示分支的合併歷史
    git log –graph –all --online 
    
    # 查詢作者的提交記錄(和grep同時使用要加一個--all--match引數)
    git log --author=作者  
    
    # 列出提交資訊中包含過濾資訊的提交記錄
    git log --grep=過濾資訊
     
    # 和--grep類似,S和查詢內容間沒有空格
    git log -S查詢內容
    
    # 檢視某檔案的修改記錄,找背鍋專用
    git log fileName 
    
    
  7. 程式碼回滾

    # 恢復成上次提交的版本
    git reset HEAD^ 
    
    # 恢復成上上次提交的版本,就是多個^,以此類推或用~次數
    git reset HEAD^^ 
    
    git reflog
    
    git reset --hard 版本號
    
    --soft:只是改變HEAD指標指向,快取區和工作區不變;
    --mixed:修改HEAD指標指向,暫存區內容丟失,工作區不變;
    --hard:修改HEAD指標指向,暫存區內容丟失,工作區恢復以前狀態;
    
  8. 同步遠端倉庫

    git push -u origin master
    
  9. 刪除版本庫檔案

    git rm 檔名
    
  10. 版本庫裡的版本替換工作區的版本

    git checkout -- test.txt
    
  11. 本地倉庫內容推送到遠端倉庫

    git remote add origin 	[email protected]:帳號名/倉庫名.git
    
  12. 從遠端倉庫克隆專案到本地

    git clone 	[email protected]:git帳號名/倉庫名.git
    
  13. 建立分支

    git checkout -b dev
    -b表示建立並切換分支
    
    上面一條命令相當於一面的二條:
    git branch dev //建立分支
    git checkout dev //切換分支
    
  14. 檢視分支

    git branch
    
  15. 合併分支

    git merge dev
    //用於合併指定分支到當前分支
    
    git merge --no-ff -m "merge with no-ff" dev
    //加上--no-ff引數就可以用普通模式合併,合併後的歷史有分支,能看出來曾經做過合併
    
  16. 刪除分支

    git branch -d dev
    
  17. 檢視分支合併圖

    git log --graph --pretty=oneline --abbrev-commit
    
  18. 檢視遠端庫資訊

    git remote
    // -v 顯示更詳細的資訊
    
  19. git相關配置

    # 安裝完	git後第一件要做的事,設定使用者資訊(global可換成local在單獨專案生效):
    git config --global user.name "使用者名稱" # 設定使用者名稱
    git config --global user.email "使用者郵箱"   #設定郵箱
     
     # 檢視使用者名稱是否配置成功
    git config --global user.name 
    # 檢視郵箱是否配置
    git config --global user.email  
    

    其他檢視配置相關

    # 檢視全域性設定相關引數列表
    git config --global --list  
    
    # 檢視本地設定相關引數列表
    git config --local --list 
    
    # 檢視系統配置引數列表
    git config --system --list
    
    # 檢視所有	git的配置(全域性+本地+系統)
    git config --list 
    
    #顯示git相關顏色
    git config --global color.ui true 
    
  20. 撤消某次提交

    # 撤銷最近的一個提交
    git revert HEAD
    
    # 撤銷某次commit
    git revert 版本號 
    
  21. 拉取遠端分支到本地倉庫

    # 會在本地新建分支,並自動切換到該分支
    git checkout -b 本地分支 遠端分支 
    
    # 會在本地新建分支,但不會自動切換,還需checkout
    git fetch origin 遠端分支:本地分支 
    
    # 建立本地分支與遠端分支的連結
    git branch --set-upstream 本地分支 遠端分支 
    
  22. 標籤命令

    #打標籤命令,預設為HEAD
    git tag 標籤 
    #顯示所有標籤
    git tag 
    
    #給某個commit版本新增標籤
    git tag 標籤 版本號 
    
    #顯示某個標籤的詳細資訊
    git show 標籤
    
  23. 同步遠端倉庫更新

    git fetch  origin master
    
    #從遠端獲取最新的到本地,首先從遠端的origin的master主分支下載最新的版本到origin/master分支上,
    然後比較本地的master分支和origin/master分支的差別,最後進行合併。
     
    git fetch比	git pull更加安全