最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Git提交歷史查看與日志篩選的全攻略

 更新時(shí)間:2026年03月26日 09:32:31   作者:用什么都重名  
本文介紹了Git日志(gitlog)的實(shí)用操作指南,主要內(nèi)容包括:基礎(chǔ)用法展示提交歷史、顯示補(bǔ)丁(-p)與修改統(tǒng)計(jì)(--stat)、多樣化輸出格式(--pretty)設(shè)置、圖形化分支(--graph)展示,以及多種過(guò)濾方式(時(shí)間、作者、關(guān)鍵詞、路徑等),需要的朋友可以參考下

一、基礎(chǔ)用法:git log

克隆示例倉(cāng)庫(kù)并進(jìn)入目錄:

$ git clone https://github.com/schacon/simplegit-progit
$ cd simplegit-progit

直接運(yùn)行 git log,默認(rèn)會(huì)按 倒序 列出所有提交: 

$ git log
commit ca82a6dff817……  
Author: Scott Chacon <schacon@…>  
Date:   Mon Mar 17 21:52:11 2008 -0700  

    Change version number

commit 085bb3bcb6……  
Author: Scott Chacon <schacon@…>  
Date:   Sat Mar 15 16:40:33 2008 -0700  

    Remove unnecessary test

commit a11bef06a3……  
Author: Scott Chacon <schacon@…>  
Date:   Sat Mar 15 10:31:28 2008 -0700  

    Initial commit

 每條記錄包括提交哈希(SHA-1)、作者、日期和提交信息。

二、顯示補(bǔ)丁與統(tǒng)計(jì)

2.1-p/--patch:顯示補(bǔ)丁

跟隨每次提交后直接輸出該提交所引入的 diff:

$ git log -p -2

僅顯示最近兩次提交及其完整代碼變更。

2.2--stat:文件修改統(tǒng)計(jì)

在每次提交下方匯總修改文件列表及插入/刪除行數(shù):

$ git log --stat

輸出示例:

 Rakefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

 若只想看統(tǒng)計(jì)匯總行,可用 --shortstat。

三、多樣化輸出格式:--pretty

3.1 預(yù)定義格式

oneline:每個(gè)提交一行,配合 --abbrev-commit 可更簡(jiǎn)潔:

$ git log --pretty=oneline

short/full/fuller:分別對(duì)應(yīng)不同程度的信息豐富度。

3.2 自定義格式

使用 format: 自定義輸出字段,常用占位符如下:

占位符含義
%H完整提交哈希
%h簡(jiǎn)短提交哈希
%an作者名稱
%ae作者郵箱
%ar作者日期(相對(duì),如 “2 weeks ago”)
%cn提交者名稱
%ce提交者郵箱
%cr提交者日期(相對(duì))
%s提交信息摘要

示例:

$ git log --pretty=format:"%h - %an, %ar : %s"

四、ASCII 圖形化分支:--graph

在日志前加上分支/合并結(jié)構(gòu)的 ASCII 圖示:

$ git log --pretty=format:"%h %s" --graph

示例輸出:

* 2d3acf9 Ignore errors from SIGCHLD on trap
* 5e3ee11 Merge branch 'master' of …
|\
| * 420eac9 Add method for current branch
* | 30e367c Timeout code and tests
...

五、限制與過(guò)濾日志

5.1 限制條目數(shù)量

-n 或 -<n>:僅顯示最近 n 條提交

$ git log -3      # 最近三次

5.2 時(shí)間范圍

  • --since / --after:指定起始日期
  • --until / --before:指定結(jié)束日期

支持多種格式,如 "2025-01-15""2 weeks ago"。

$ git log --since="2 weeks"

5.3 作者/提交者過(guò)濾

  • --author="用戶名或郵箱"
  • --committer="提交者"
$ git log --author="Junio C Hamano"

5.4 提交信息關(guān)鍵詞:--grep

僅顯示提交信息中匹配給定正則/字符串的記錄:

$ git log --grep="bugfix"

添加 --all-match 要求同時(shí)匹配多個(gè) --grep 或 --author 條件。

5.5 “挑選”改動(dòng)內(nèi)容:-S

查找改動(dòng)中添加或刪除某個(gè)字符串的提交:

$ git log -S function_name

5.6 按路徑篩選

僅顯示對(duì)指定文件或目錄有改動(dòng)的提交:

$ git log -- path/to/file

記得在路徑前加 -- 來(lái)區(qū)分選項(xiàng)與路徑。

六、實(shí)戰(zhàn)示例

查詢 2008 年 10 月由 Junio Hamano 修改 t/ 目錄下文件的非合并提交:

$ git log \
  --pretty="%h - %s" \
  --author="Junio C Hamano" \
  --since="2008-10-01" \
  --before="2008-11-01" \
  --no-merges \
  -- t/

 輸出最近符合條件的若干提交。

七、常用選項(xiàng)速覽

八、總結(jié)

git log 是查看、分析項(xiàng)目歷史的核心利器。掌握補(bǔ)丁輸出、統(tǒng)計(jì)信息、格式定制、圖形化分支、時(shí)間/作者/內(nèi)容過(guò)濾等功能后,你可以:

  • 快速定位引入某行代碼的提交
  • 按日期范圍或作者篩選日志
  • 以簡(jiǎn)潔或自定義格式輸出,便于腳本處理
  • 可視化分支與合并結(jié)構(gòu),理清歷史脈絡(luò)

以上就是Git提交歷史查看與日志篩選的全攻略的詳細(xì)內(nèi)容,更多關(guān)于Git歷史查看與日志篩選的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • VSCode設(shè)置默認(rèn)打開(kāi)的瀏覽器的方法

    VSCode設(shè)置默認(rèn)打開(kāi)的瀏覽器的方法

    這篇文章主要介紹了VSCode設(shè)置默認(rèn)打開(kāi)的瀏覽器的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • VSCode?搭建?x264?源碼調(diào)試環(huán)境的詳細(xì)步驟

    VSCode?搭建?x264?源碼調(diào)試環(huán)境的詳細(xì)步驟

    這篇文章主要介紹了VSCode?搭建?x264?源碼調(diào)試環(huán)境的詳細(xì)步驟,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10
  • 淺析Git 分支的新建與合并

    淺析Git 分支的新建與合并

    這篇文章主要介紹了Git 分支的新建與合并,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 使用Git實(shí)現(xiàn)revert的完整操作步驟

    使用Git實(shí)現(xiàn)revert的完整操作步驟

    文章介紹了git revert命令的使用,包括其核心概念、完整操作步驟、進(jìn)階場(chǎng)景以及與git reset的區(qū)別,git revert是一種安全的代碼回退方式,適用于已推送的代碼,通過(guò)生成新的提交來(lái)抵消目標(biāo)提交的修改,保留歷史記錄并便于追溯,需要的朋友可以參考下
    2026-01-01
  • 回車和換行有什么區(qū)別?我們平時(shí)按下的Enter鍵是回車還是換行

    回車和換行有什么區(qū)別?我們平時(shí)按下的Enter鍵是回車還是換行

    如果用過(guò)機(jī)械打字機(jī),就知道回車和換行的區(qū)別了。換行就是把滾筒卷一格,不改變水平位置?;剀嚲褪前阉轿恢脧?fù)位,不卷動(dòng)滾筒
    2011-03-03
  • SpringSecurity框架簡(jiǎn)介及與shiro特點(diǎn)對(duì)比

    SpringSecurity框架簡(jiǎn)介及與shiro特點(diǎn)對(duì)比

    這篇文章是SpringSecurity框架的入門篇,主要為大家介紹了SpringSecurity框架簡(jiǎn)介及與shiro優(yōu)缺點(diǎn)對(duì)比有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-03-03
  • VS2019中Git源代碼管理實(shí)現(xiàn)總結(jié)

    VS2019中Git源代碼管理實(shí)現(xiàn)總結(jié)

    這篇文章主要介紹了VS2019中Git源代碼管理實(shí)現(xiàn)總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 基于 Serverless +企業(yè)微信打造 nCoV 疫情監(jiān)控小助手

    基于 Serverless +企業(yè)微信打造 nCoV 疫情監(jiān)控小助手

    這篇文章主要介紹了基于 Serverless +企業(yè)微信打造 nCoV 疫情監(jiān)控小助手,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 獲取目錄下所有文件名的代碼

    獲取目錄下所有文件名的代碼

    獲取目錄下所有文件名的代碼,需要的朋友可以參考下。
    2011-07-07
  • kill一條TCP連接實(shí)現(xiàn)方法詳解

    kill一條TCP連接實(shí)現(xiàn)方法詳解

    這篇文章主要為大家介紹了kill一條TCP連接實(shí)現(xiàn)方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11

最新評(píng)論

揭西县| 沧州市| 黑龙江省| 舟曲县| 砀山县| 济南市| 金湖县| 梁河县| 渝北区| 咸宁市| 赣州市| 四子王旗| 定襄县| 化州市| 大冶市| 武汉市| 射阳县| 清苑县| 沙洋县| 西青区| 绥宁县| 上饶县| 三穗县| 五原县| 旌德县| 武功县| 锦州市| 南陵县| 镇巴县| 凤山市| 察雅县| 寿阳县| 定陶县| 泗水县| 黄龙县| 壤塘县| 长沙县| 东莞市| 兖州市| 泰和县| 鸡泽县|