git log命令

1、格式化 --pretty=format:"%cr %cn %s" --pretty=onelilne --pretty=fuller

%H 提交對象的完整哈希字符串

%h     提交對象的簡短哈希字符串

%T    樹對象的完整哈希字符串

%t    樹對象

%P    父對象的完整哈希字符串

%p   父對象的簡短哈希字符串

%an 作者名字

%ae 作者電子郵箱

%ad 作者修訂日期

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

%cn 提交者名字

%ce 提交者電子郵箱

%cd 提交日期

%cr 提交日期,多久以前

%s 提交說明


2、是否合併信息 --merges --no-merges


3、時間範圍 --after={} --before={}


4、-S -Snewa 通過查詢文件的變更內容來檢索出指定提交的日誌 注:-S後沒有=,與查詢內容之間也沒有空格符

--fileName fileName爲任意文件名,查看指定文件的提交信息。(注:文件名應該放到參數的最後位置,通常在前面加上--並用空格隔開表示是文件)

5、--branchName branchName爲任意一個分支名字,查看某個分支上的提交記錄。同上,需要放到參數中的最後位置處。(注:如果分支名與文件名相同,系統會提示錯誤,可通過--選項來指定給定的參數是分支名還是文件名。)例:在當前分支中有一個名爲v1的文件,同時還存在一個名爲v1的分支,則:

git log v1 -- 此時的v1代表的是分支名字

git log -- v1 此時的v1代表的是文件名字

git log v1 -- v1


6、tagName或branchName 查詢指定標籤/分支中的提交記錄

git log v1.0.. 查詢從v1.0以後的提交歷史記錄(不包含v1.0)(在當前workcopy上的v1.0以後)

git log test..master 查詢master分之中的提交記錄但不包含test分支記錄

git log master..test 查詢master或test分之中的提交記錄 試了,不生效啊委屈

git log test --not master 屏蔽master分支


7、根據commit查詢日誌

git log commit 查詢commit之前的記錄,包含commit

git log commit1 commit2 查詢commit1與commit2之間的記錄,包括commit1和commit2

git log commit1..commit2 同上,但是不包含commit1

其中,commit可以是提交哈希值的簡寫模式,也可以使用HEAD代替。HEAD代表最後一次提交,HEAD^爲最後一個提交的父提交,等同於DEAD~1,h


8、查看提交時的詳細修改信息 -p

9、列出具體修改信息 --stat

10、列出每次提交影響的總行數 --shorstat

11、使用較短的相對時間顯示 (比如,"2 weeks ago") --relative-date

12、在提交信息後顯示修改的文件 --name-only

13、在提交信息後顯示修改的文件 及其 操作類型 --name-status


查看我的提交歷史記錄

git log --author='guzhangyu' --pretty=format:"%cd %s" --name-status

查看指定分支上的提交歷史記錄

git log --pretty=format:"%cn %cr %s" storage_item --not master -- dmj-items-services-support/src/main/java/com/raycloud/dmj/services/stock/TradeStockService.java 

自定義日誌展示格式:

git config --global alias.logf "log --pretty=fortmat:\"%cr %cn %s\" --name-status"










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