[TOC] #### 1. 前言 --- git log 命令主要用于查看提交記錄 日常開發(fā)中,我們會經(jīng)常使用 git log 查看提交記錄,配合 git status 確認(rèn)當(dāng)前代碼是不是最新的 git log 有很多的參數(shù)選項(xiàng),我們可以根據(jù)自己的需求使用不同的參數(shù),使其輸出我們想要的效果 #### 2. git log --- 基本用法 ``` git log ``` **only one line**,該參數(shù)用于簡化 `git log` 的默認(rèn)輸出。只顯示 commit id 和備注信息 ``` git log --pretty=oneline ``` 更為簡潔的提交歷史列表,只顯示 commit id 的前 7 位和備注信息 ``` git log --oneline ``` 查看某個(gè)人的提交記錄 (等號和空格都行) ``` git log --author liang git log --author=liang ``` 查看最近 n 次的提交記錄 ``` # 查看最近1次提交記錄 git log -1 # 查看最近2次提交記錄 git log -2 ``` 查看文件的變動信息 ``` # 查看所有提交記錄的變動信息 git log -p # 查看某個(gè) commit id 及其以前的記錄 git log -p <commit id> ``` 查看變動的文件名,用于查看哪些文件發(fā)生了改變 ``` git log --name-only ``` 查看文件變動狀態(tài),會顯示 `增加、修改` 等對應(yīng)的字母標(biāo)識 ``` git log --name-status ``` 顯示哪些文件發(fā)生了改變,以及對應(yīng)的新增行數(shù)、減少行數(shù)和變動文件數(shù) ``` git log --stat ``` 根據(jù)備注信息模糊查詢提交記錄 ``` git log --grep <keyword> ``` 提交記錄左側(cè)顯示虛線作為分割區(qū)域 ``` git log --graph ``` 顯示縮寫的 commit id,也就是只顯示前 7 位 ``` git log --abbrev-commit ``` 自定義輸出格式 ``` git log --pretty=format:'%Cred%h%Creset -%C(yellow)%d %s' ``` 我使用的輸出格式,我會定義個(gè)別名來使用這個(gè)命令 ``` git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit ``` #### 3. git reflog ---- 用于查看所有分支的所有操作記錄,包括已經(jīng)被刪除的 commit 記錄和 reset 的操作 多了 `HEAD@{數(shù)字}` 數(shù)字的含義: 指針會到該版本需要走多少步 ``` git reflog ``` #### 4. 翻頁、查看下一行、退出查看 --- 上一頁: `b` 下一頁: `空格鍵` 上一行/下一行: `↑/↓` 退出查看: q