1. 程式人生 > >Git--log 檢視提交歷史

Git--log 檢視提交歷史

git中檢視提交歷史的話,使用的是 git log命令,具體命令及含義如下:

注意:以下截圖中,
Author 表示對程式碼做出修改的人
AuthorDate 表示對程式碼做出修改的時間
Commitor 表示提交程式碼的人,
Commitor 表示提交程式碼的時間
實際工作中,Author並不一定就是Commitor

-

另外:在檢視提交摘要或者詳情等情況下可能會出現‘ : ’,這個冒號表示還有沒展示完的內容,如果你想繼續檢視內容,就敲擊鍵盤上的回車鍵;如果你想退出:,可以敲擊鍵盤上的 q 。如下圖:

這裡寫圖片描述

  1. git log

    檢視全部提交歷史 。 由於命令視窗的限制,如果提交歷史過多,可能無法完全顯示在螢幕上,這時候,可以敲擊回車鍵繼續檢視。如下圖:

    這裡寫圖片描述

  2. git log -p

    檢視全部提交歷史並展示每次修改的內容

  3. git log -2

    檢視最近2次提交歷史(注意:後面的數字是可以自定義的,也就是說,這種寫法是 git log -n 的體現)

  4. git log -p -2

    檢視最近2次提交歷史並展示修改的內容

  5. git log - -stat

    檢視提交歷史,並展示摘要內容(摘要會列出修改的檔案以及每個檔案中修改了多少行),如下圖:

    這裡寫圖片描述

    • git log - -shortstat

    檢視提交歷史,並顯示摘要內容(只是統計並展示修改了多少內容兒不顯示具體哪些檔案做出了修改),如下圖:

    這裡寫圖片描述

  6. git log - -pretty xxx

    該命令可以用來指定使用不同於預設格式的方式展示提交歷史,後面的xxx表示具體的取值,取值有:oneline , short , full , fuller 等

    • git log - -pretty=oneline

      執行該命令後會把提交歷史的commit描述以及校驗和 顯示在同一行,並且省略預設格式下的其他內容,具體如下圖:

      這裡寫圖片描述

    • git log - -pretty=short

      執行該命令後,只是比預設的格式少了Data日期的描述,具體如下圖:

      這裡寫圖片描述

    • git log - - pretty=full

      執行該命令後,與預設的格式相比少了Data日期的描述,但是增加了commit 提交人資訊,如下圖:

      這裡寫圖片描述

    • git log - -pretty=fuller

      執行該命令之後,效果如下:

      這裡寫圖片描述

  7. 其他用法:

    • git log - -name-only

      僅在預設格式後面展示已經修改的檔案,如下圖:

      這裡寫圖片描述

    • git log - -abbrev-commit

      僅顯示SHA-1的前幾個字元,而非全部字元(這個SHA-1字元就是指的校驗和,我習慣稱為commit id),如下圖:

      這裡寫圖片描述

    • git log - -relative-date

      以相對當前的時間展示提交歷史,如下圖:
      這裡寫圖片描述

    • git log - -graph

      在展示提交歷史前面加入簡單的ASCII圖形,區分每次提交歷史,如圖:

      這裡寫圖片描述

    • git log - -oneline

      log後面直接跟–oneline時,顯示短的 校驗和,並與提交描述顯示在同一行,效果如下

      這裡寫圖片描述

    • git log - - author=使用者名稱

      如:git log - -author=CnPeng 就會展示出CnPeng這個使用者的修改歷史 。注意:這裡的使用者名稱,是初始化git 時傳入的name . 執行效果如下圖:

      這裡寫圖片描述

    • git log - - commitor=使用者名稱

      如:git log - -commitor=CnPeng 就會展示出CnPeng這個使用者的提交歷史。注意:這裡的使用者名稱,是初始化git 時傳入的name . 效果圖參考上面的author圖

    • git log - -since=時間

      如:git log - -since=1days , 表示,展示1天前的提交歷史,具體的時間取值,可以有如下格式: xxxdays , xxxweeks , 2016-11-25 , 或 2 years 1 day 3 minutes ago ,效果圖如下:

      since=1days

      這裡寫圖片描述

      另外,除了可以使用 - -since , 也可以使用 - - after , - -util , - -before , 取值方式相同

    • 也可以使用如下這種組合模式:

      git log - -pretty=”%h - %s” - -author=gitster - -since=”2008-10-01” \ - -before=”2008-11-01” - -no-merges - - t/

      上面的組合模式中,%h , %s 是佔位符, 詳細的佔位符以及含義如下:
      %H 提交物件(commit)的完整雜湊字串
      %h 提交物件的簡短雜湊字串
      %T 樹物件(tree)的完整雜湊字串
      %t 樹物件的簡短雜湊字串
      %P 父物件(parent)的完整雜湊字串
      %p 父物件的簡短雜湊字串
      %an 作者(author)的名字
      %ae 作者的電子郵件地址
      %ad 作者修訂日期(可以用 -date= 選項定製格式)
      %ar 作者修訂日期,按多久以前的方式顯示
      %cn 提交者(committer)的名字
      %ce 提交者的電子郵件地址
      %cd 提交日期
      %cr 提交日期,按多久以前的方式顯示
      %s 提交說明