git log 檢視提交記錄,引數:
-n (n是乙個正整數),檢視最近n次的提交資訊
$ git log -2 檢視最近2次的提交歷史記錄
-- filename filename為任意檔名,檢視指定檔案的提交資訊。(注:檔名應該放到引數的最後位置,通常在前面加上--並用空格隔開表示是檔案。)
$ git log file1 file2 檢視file1檔案file2檔案的提交記錄
$ git log file/ 檢視file資料夾下所有檔案的提交記錄
--branchname branchname為任意乙個分支名字,檢視莫個分支上的提交記錄。同上,需要放到引數中的最後位置處。(注:如果分支名與檔名相同,系統會提示錯 誤,可通過--選項來指定給定的引數是分支名還是檔名。)例:在當前分支中有乙個名為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 --author=xx --after=2015-11-01 --before=2015-12-01 --no-merges --shortstat --pretty=format:" %b $ %an $ %ci $ %s " > 1.txt
git log --author=xx --after=2015-11-01 --before=2015-12-01 --no-merges --shortstat --pretty=format:" %b $ %ae $ %ci $ %s " > 1.txt
Git log怎麼檢視分支提交過哪些檔案
以上簡單介紹了一些 git log 命令支援的選項。表 2 2 還列出了一些其他常用的選項及其釋義。選項 說明 p 按補丁格式顯示每個更新之間的差異。word diff 按 word diff 格式顯示差異。stat 顯示每次更新的檔案修改統計資訊。shortstat 只顯示 stat 中最後的行數...
git提交記錄檢視
目前開始使用git的使用者大部分都經歷過subversion,對於這兩種版本管控系統的切換需要一定時間去適應。本文旨在幫助這些使用者恢復部分熟悉的日誌查閱習慣。我們以乙個具體的例項來熟悉git中log的命令的使用。情景 1 當前版本的 編譯執行出現了乙個棘手的問題,我們打算查閱最近的提交修改看是否有...
git log檢視和儲存方法
git log檢視和儲存方法 1.git log filename 可以看到filename相關的commit記錄 2.git log p filename 可以顯示每次提交的diff 3.只看某次提交中的某個檔案變化,可以直接加上filename git show commit id filena...