git log 命令用法實例 (1)

使用 git log 命令查看提交記錄時,默認打印commit hash值、做者、提交日期、和提交信息。若是想要查看更多內容,能夠提供不一樣的參數來指定查看的信息。具體實例說明以下。git

查看提交記錄具體的改動

執行 git log 命令會打印提交信息,默認不會列出具體的改動內容。能夠使用 git log -p 命令來顯示具體的改動內容。查看 man git-add 對 -p 選項說明以下:express

-p, -u, --patch
Generate patch (see section on generating patches).code

即,git log -p 命令默認以patch的形式來顯示改動內容,會顯示修改前、修改後的對比。ci

git log -p 後面還能夠提供 commit hash 值來從指定的 commit 開始查看,但不是隻查看這個 commit 的改動。例如,git log -p 595bd27 命令是從 595bd27 這個 commit 開始顯示代碼修改,繼續往下翻頁,能夠看到後面的 commit 改動。hash

若是隻想查看指定 commit 的改動,能夠使用 git show 命令。例如,git show 595bd27 只顯示出 595bd27 這個 commit 自身的改動,翻看到最後就結束打印,不會繼續往下顯示後面 commit 的改動。it

查看提交記錄改動的文件名

使用 git log --name-status 命令來查看提交記錄改動的文件名,但不會打印具體的改動,方便查看改動了哪些文件。 查看 man git-log 對 --name-status 的說明以下:io

--name-status
Show only names and status of changed files.class

只查看前面幾條提交信息

使用 git log 命令查看使用提交記錄,會顯示所有的提交信息。若是隻想查看前面幾條提交信息,能夠執行 git log -<number> 命令,number 參數值是數字,指定要查看多少條信息,例如 一、二、3 等。查看 man git-log 對 -<number> 選項說明以下:file

-<number>, -n <number>, --max-count=<number>
Limit the number of commits to output.grep

例如,git log -3 命令會只列出前面三條提交信息。注意,這個命令並非只列出第三個提交信息。
能夠把 -<number> 選項和其餘選項結合使用。例如 git log -p -3 命令只查看前面三條提交信息的具體改動。

查找特定的commit信息

使用 git log --grep=<pattern> 命令在commit信息中查找指定的內容。查看 man git-log 對 --grep 的說明以下:

--grep=<pattern>
Limit the commits output to ones with log message that matches the specified pattern (regular expression). With more than one --grep=<pattern>, commits whose message matches any of the given patterns are chosen (but see --all-match).

這裏說的commit信息指的是在執行 git commit 命令時填寫的信息,不包含文件改動的內容。
例如,爲了方便標識提交的修改對應哪一個模塊,要求在commit信息裏面寫上模塊名,假設應用UI代碼的模塊名是APPLICATION_UI,就能夠使用 git log --grep=APPLICATION_UI 來過濾出全部 APPLICATION_UI 模塊的提交歷史。

相關文章
相關標籤/搜索