天天看點

git 常用指令講解git 常用指令講解

git 常用指令講解

檔案的幾種狀态

  • 已送出(commited/unmodified),已被儲存在本地
  • 已修改(modified),已修改,未儲存
  • 已暫存(staged),下次送出将儲存
  • 未跟蹤(untracked),建立檔案為未跟蹤
    git 常用指令講解git 常用指令講解

git 基礎指令

  • git config –global user.name “your name”
  • git config –global user.email “your email”
  • git clone 從遠端克隆代碼
  • git add files将檔案加入到暫存區
  • git status 檢視工作區檔案狀态
  • git commit 送出暫存區檔案
  • git commit –amend 撤銷上一次的送出
  • git show id 檢視某次修改的内容
  • git diff file 檢視目前檔案和暫存區檔案差異
  • git diff –staged 比較暫存區和版本庫差異
  • git diff id1 id2 檢視某2次送出的差異
  • git log 檢視送出記錄
  • git log file 檢視檔案的送出記錄
  • git log -p file檢視檔案送出記錄差異
  • git log -p 2檢視最近兩次送出差異記錄
  • git log –stat 檢視所修改檔案
  • git log –pretty=oneline/short/full/fuller
  • git rm file 從版本庫中删除檔案
  • git rm –cached file 從版本庫中删除跟蹤,但不删除檔案
  • git reset file 撤銷送出,從暫存區恢複檔案到unstage
  • git reset –hard 撤銷送出,恢複到最近送出的一次狀态,放棄修改
  • git revert $id 用于直接取消指定某一次的送出,并且會形成兩個曆史記錄

關于分支

1、建立分支

  • git branch 分支名 建立新的分支
  • git checkout 分支名 切換到對應分支
  • git fetch origin master:tmp 擷取最新的代碼到tmp分支
  • git checkout -b 分支名 建立分支并切換到對應分支;相當于:git - branch + git checkout

    注:切換分支前将先前分支的修改commit

2、檢視分支

  • git branch 檢視本地分支
  • git branch -r 檢視遠端分支
  • git branch -v 檢視各個分支最後一個送出對象的資訊
  • git branch –merged 篩選出你已經與目前分支合并的分支
  • git branch –no-merged 篩選出尚未與目前分支合并的分支

3、合并分支

合并分支到master分支
  • git checkout master
  • git merge 需要合并的分支名

4、遠端分支

  • 推送本地分支

    git push origin 分支名

  • 擷取遠端分支更新

    git pull origin 分支名

  • 删除遠端分支

    git push origin :分支名

  • 克隆遠端分支到本地分支

    git checkout -b 本地分支名 origin/遠端分支名

關于标簽

1、列出标簽

  • git tag —–列出所有的标簽
  • git tag -l ‘過濾資訊’ —–列出指定條件過濾的标簽

    例如:

    git tag -l ‘a*’ 代表列出以a開頭的标簽名對應的所有标簽

2、建立标簽

Git 使用兩種主要類型的标簽:輕量标簽(lightweight)與附注标簽(annotated)。

一個輕量标簽很像一個不會改變的分支 - 它隻是一個特定送出的引用。

然而,附注标簽是存儲在 Git 資料庫中的一個完整對象。 它們是可以被校驗的;其中包含打标簽者的名字、電子郵件位址、日期時間;還有一個标簽資訊;并且可以使用 GNU Privacy Guard (GPG)簽名與驗證。 通常建議建立附注标簽,這樣你可以擁有以上所有資訊;但是如果你隻是想用一個臨時的标簽,或者因為某些原因不想要儲存那些資訊,輕量标簽也是可用的。

2.1建立輕量标簽

  • git tag 标簽名
  • 建立附注标簽

    git tag -a 标簽名 -m ‘标簽描述資訊’

  • 後期打标簽:對先前送出的某個commit進行打标簽的操作

    git tag -a 标簽名 -m ‘标簽描述’ 對應commit的校驗和(或部分校驗和)

3、檢視某個标簽資訊

git show 标簽名

4、檢出标簽

git checkout -b [分支名] [标簽名]

5、共享标簽(送出标簽到遠端伺服器)

git push origin [标簽名]

git push origin –tags 送出所有不在遠端倉庫的标簽

6、删除本地标簽

git tag –d [标簽名]