git log常用命令

2021-06-27 16:49:40 字數 3271 閱讀 7420

git log 檢視提交記錄,引數:

-n(n是乙個正整數),檢視最近n次的提交資訊

$ git log -2    檢視最近2次的提交歷史記錄
-- filenamefilename為任意檔名,檢視指定檔案的提交資訊。(注:檔名應該放到引數的最後位置,通常在前面加上--並用空格隔開表示是檔案。)

$ git log file1 file2   檢視file1檔案file2檔案的提交記錄
$ git log file/         檢視file資料夾下所有檔案的提交記錄
--branchnamebranchname為任意乙個分支名字,檢視莫個分支上的提交記錄。同上,需要放到引數中的最後位置處。(注:如果分支名與檔名相同,系統會提示錯誤,

可通過--選項來指定給定的引數是分支名還是檔名。)例:在當前分支中有乙個名為v1的檔案,同時還存在乙個名為v1的分支,則:

$ git log v1 -- 此時的v1代表的是分支名字
$ git log -- v1 此時的v1代表的是名為v1的檔案
$ git log v1 -- v1
tagname或branchame查詢指定標籤/分支中的提交記錄資訊

$ git log v1.0..        查詢從v1.0以後的提交歷史記錄(不包含v1.0)
$ git log test..master  查詢master分支中的提交記錄但不包含test分支記錄
$ git log master..test  查詢test分支中的提交記錄但不辦含master分支記錄
$ git log master...test 查詢master或test分支中的提交記錄。
$ git log test --not master  遮蔽master分支
根據commit查詢日誌

$ git log commit    查詢commit之前的記錄,包含commit
$ git log commit1 commit2 查詢commit1與commit2之間的記錄,包括commit1和commit2
$ git log commit1..commit2 同上,但是不包括commit1
其中,commit可以是提交雜湊值的簡寫模式,也可以使用head代替。head代表最後一次提交,head^為最後乙個提交的父提交,等同於head~1,head~2代表倒數第二

次提交--pretty按指定格式顯示日誌資訊,可選項有:oneline,short,medium,full,fuller,email,raw以及format:,預設為medium,可以通過修改配置檔案來指定預設的

方式。

$ git log (--pretty=)oneline
常見的format選項:

選項     說明

%h 提交物件(commit)的完整雜湊字串

%h 提交物件的簡短雜湊字串

%t 樹物件(tree)的完整雜湊字串

%t 樹物件的簡短雜湊字串

%p 父物件(parent)的完整雜湊字串

%p 父物件的簡短雜湊字串

%an 作者(author)的名字

%ae 作者的電子郵件位址

%ad 作者修訂日期(可以用 -date= 選項定製格式)

%ar 作者修訂日期,按多久以前的方式顯示

%cn 提交者(committer)的名字

%ce 提交者的電子郵件位址

%cd 提交日期

%cr 提交日期,按多久以前的方式顯示

%s 提交說明

注:作者是指最後一次修改檔案的人;而提交者是指提交該檔案的人。

$ git log --pretty=format:"%an %ae %ad %cn %ce %cd %cr %s" --graph
--mergs檢視所有合併過的提交歷史記錄

--no-merges檢視所有未被合併過的提交資訊

--author=someonet查詢指定作者的提交記錄

$ git log --author=gbyukg
--since,--affter僅顯示指定時間之後的提交(不包含當前日期)

--until,--before僅顯示指定時間之前的提交(包含當前日期)

$ git log --before= --after=
--grep通過提交說明資訊過濾提交日誌

$ git log --grep=hotfix 該命令會列出所有包含hotfix字樣的提交資訊說明的提交記錄
注意:如果想同時使用--grep和--author,必須在附加乙個--all-match引數。

-s通過查詢檔案的變更內容來檢索出指定提交日誌 注:-s後沒有"=",與查詢內容之間也沒有空格符

$ git log --snew
-p檢視提交時的補丁資訊

$ git log -p --no-merges -2
--stat列出檔案的修改行數

--sortstat只顯示--stat中最後行數修改新增移除的統計

--graph以簡單的圖形方式列出提交記錄

--abbrev-commit僅顯示 sha-1 的前幾個字元,而非所有的 40 個字元。

--relative-date使用較短的相對時間顯示(比如,「2 weeks ago」)。

--name-only僅在提交資訊後顯示已修改的檔案清單。

--name-status顯示新增、修改、刪除的檔案清單。

git blame

用來檢視檔案的每個部分修改詳情

$git blame index.php

Git log常用命令

git 可以同過log來檢視歷史記錄 p 是 patch 的縮寫,通過 p 引數,可以看到具體每個 commit 的改動細節 可以直接輸入 git show 在shou後面加上要檢視的commit引用 當commits有很多記錄時,預設的顯示方式不利於我們快速檢視,這時候我們可以 pretty來優化...

git log 常用命令

如果不帶任何引數,它會列出所有歷史記錄,最近的排在最上方,顯示提交物件的雜湊值,作者 提交日期 和提交說明。如果記錄過多,則按page up page down 來控制顯示 按q退出歷史記錄列表。如果不想向上面那樣全部顯示,可以選擇顯示前n條。顯示簡要的增改行數統計,每次提交檔案的變更統計,n 同上...

git log常用命令以及技巧

如果不帶任何引數,它會列出所有歷史記錄,最近的排在最上方,顯示提交物件的雜湊值,作者 提交日期 和提交說明。如果記錄過多,則按page up page down 來控制顯示 按q退出歷史記錄列表。2.git log n 如果不想向上面那樣全部顯示,可以選擇顯示前n條。3.git log stat n...