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

Git查看已刪除文件歷史記錄的方法

 更新時(shí)間:2026年04月22日 08:18:46   作者:KieranYin  
文件不見(jiàn)了,第一反應(yīng)是翻 commit 記錄,翻了半天沒(méi)找到,即使翻到了也很費(fèi)功夫——其實(shí) git log 就可以解決,所以本文給大家介紹了Git查看已刪除文件歷史記錄的方法,需要的朋友可以參考下

文件不見(jiàn)了,第一反應(yīng)是翻 commit 記錄。翻了半天沒(méi)找到,即使翻到了也很費(fèi)功夫——其實(shí) git log 就可以解決。

git log 本質(zhì)是三件事的組合:在哪個(gè)范圍內(nèi)找按什么條件過(guò)濾、用什么格式輸出。把這三塊拼對(duì)了,幾條命令就能定位。

命令結(jié)構(gòu)

git log <branch | --all> [過(guò)濾參數(shù)] [輸出參數(shù)] -- <path>

輸出較多時(shí),git log 默認(rèn)用 less 分頁(yè)顯示。j / k 上下滾動(dòng)(一般終端都支持鼠標(biāo)滾動(dòng)),q 退出。

參數(shù)說(shuō)明

范圍控制

參數(shù)說(shuō)明
--all遍歷所有分支和 tag,兜底用
<branch>只看指定分支,比 --all 干凈
A..B只看 B 有、A 沒(méi)有的提交,適合查當(dāng)前分支的新增改動(dòng)

過(guò)濾參數(shù)

--diff-filter=<字母> :按文件操作類型篩選

含義
A新增
M修改
D刪除
R重命名

查刪除用 --diff-filter=D,查重命名用 R,兩者都不排除的話文件可能只是被移走了。

-S "text" :查某段文本"出現(xiàn)或消失"的提交。不知道文件路徑,只記得某段代碼時(shí)用這個(gè)。

-G "regex" :按正則匹配 diff 內(nèi)容,比 -S 更寬松。

舉個(gè)例子,如果某次提交把 baseUrl = "http://a.com" 改成了 baseUrl = "http://b.com"-S "baseUrl" 不會(huì)命中(因?yàn)樵撟址倲?shù)沒(méi)變),但 -G "baseUrl" 會(huì)命中(因?yàn)?diff 里有包含 baseUrl 的改動(dòng)行)。

輸出參數(shù)

參數(shù)說(shuō)明
--name-status顯示文件名 + 操作狀態(tài)(A/M/D/R),最常用
--name-only只列文件名,不帶狀態(tài)
--summary顯示 delete mode / create mode,直觀看結(jié)構(gòu)變化
--full-history不省略 merge 路徑,文件被合并覆蓋時(shí)普通 log 可能查不到

路徑限定

-- <path>

-- 后面跟路徑,區(qū)分參數(shù)和文件名,建議始終寫上。支持 glob,但不同 shell 行為有差異,用通配符時(shí)注意加引號(hào)。

** 匹配任意層級(jí)目錄,記不清文件具體在哪個(gè)子目錄時(shí)很有用:

# 只記得文件在 cdn 目錄下某處,不知道完整路徑
git log --name-status "**/cdn/**/axios.min.js"

這條命令會(huì)匹配所有含 cdn 的路徑,比如 src/cdn/v3/axios.min.jsassets/cdn/axios.min.js 都能命中。

常用命令

# 查當(dāng)前分支是否刪過(guò)指定文件(文件名模糊匹配)
git log --diff-filter=D --summary -- '*axios.min.js'
# 精確查某個(gè)分支的刪除記錄
git log main --diff-filter=D --summary -- '*axios.min.js'
# 全局查,所有分支上指定文件的刪除記錄
git log --all --diff-filter=D --summary -- '*axios.min.js'
# 查所有變更類型,判斷是刪除還是重命名
git log --all --name-status -- '*axios.min.js'
# 只知道代碼片段,不知道文件在哪
git log -S "axios" -p --all
# 記得目錄名但不知道完整路徑,用 ** 匹配任意層級(jí)
git log --name-status "**/cdn/**/axios.min.js"
# 找到 commit 后看具體改了什么
git show <commit-id>

排查套路

文件消失了,按這個(gè)順序查:

Step 1:先確認(rèn)文件有沒(méi)有出現(xiàn)過(guò)

git log --all --name-status -- '*axios.min.js'

Step 2:看輸出里的狀態(tài)標(biāo)記

D   src/cdn/axios.min.js     # 被刪了
R100 src/cdn/axios.min.js → src/lib/axios.min.js  # 被移走了

Step 3:找到 commit,看具體內(nèi)容

git show <commit-id>

幾個(gè)容易踩的坑

文件"消失"不一定是被刪了,常見(jiàn)情況有三種:被 D 標(biāo)記刪除、被 R 重命名/移目錄、被 merge 覆蓋(普通 log 看不到,要加 --full-history)。

不要一條條翻 commit。--name-status + --diff-filter + -S 才是正確姿勢(shì)。

知道文件名就用路徑查,不知道路徑就用 *filename 通配,連文件都不確定就用 -S 搜代碼片段。

到此這篇關(guān)于Git查看已刪除文件歷史記錄的方法的文章就介紹到這了,更多相關(guān)Git查看已刪除文件歷史內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • wap開發(fā)中如何有效的利用緩存減少消息的傳送量

    wap開發(fā)中如何有效的利用緩存減少消息的傳送量

    由于WAP信道帶寬的限制,我們?cè)诰帉慦AP應(yīng)用的時(shí)候都希望最大限度地減少消息的傳送量。
    2010-06-06
  • fiddler使用方法之Fiddler顯示IP,Fiddler中文亂碼解決方法以及fiddler模擬發(fā)送get/post請(qǐng)求

    fiddler使用方法之Fiddler顯示IP,Fiddler中文亂碼解決方法以及fiddler模擬發(fā)送get/post

    今天為大家介紹fiddler的3種使用技巧,(1)Fiddler抓包顯示域名IP(2)解決Fiddler抓包時(shí)中文亂碼問(wèn)題(3)利用fiddler模擬發(fā)送get/post請(qǐng)求的方法
    2018-10-10
  • 使用git?config?--global設(shè)置用戶名和郵件問(wèn)題

    使用git?config?--global設(shè)置用戶名和郵件問(wèn)題

    這篇文章主要介紹了使用git?config?--global設(shè)置用戶名和郵件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Git中代碼回退的完全指南

    Git中代碼回退的完全指南

    在軟件開發(fā)過(guò)程中,代碼回退是一個(gè)不可避免的操作,無(wú)論是修復(fù)錯(cuò)誤、撤銷不當(dāng)?shù)母?還是處理合并沖突,掌握 Git 的回退技巧都能讓你的開發(fā)工作更加流暢,本文將詳細(xì)介紹 Git 中各種回退代碼的方法,涵蓋常見(jiàn)場(chǎng)景和邊界情況,并提供實(shí)用的操作示例,需要的朋友可以參考下
    2025-08-08
  • Git建立本地倉(cāng)庫(kù)并上傳到Gitee的詳細(xì)步驟

    Git建立本地倉(cāng)庫(kù)并上傳到Gitee的詳細(xì)步驟

    這篇文章主要介紹了Git建立本地倉(cāng)庫(kù)并上傳到Gitee,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Git下載與環(huán)境變量配置方法

    Git下載與環(huán)境變量配置方法

    前幾天在寫博客 手把手教你用Hexo + github 搭建自己博客的時(shí)候,經(jīng)常需要用到一些git操作,截了好多圖,于是就想干脆整理成一系列的git 教程,總結(jié)如下,需要的朋友可以參考下
    2017-10-10
  • git stash的正確用法詳解

    git stash的正確用法詳解

    這篇文章主要為大家介紹了git stash的正確用法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Imagenet2012數(shù)據(jù)集下載、介紹(推薦)

    Imagenet2012數(shù)據(jù)集下載、介紹(推薦)

    最近研究可能會(huì)用到該數(shù)據(jù)集,發(fā)現(xiàn)過(guò)去好多分享的官網(wǎng)下載鏈接已經(jīng)失效,找了很久才找到了網(wǎng)盤的數(shù)據(jù)集,對(duì)Imagenet數(shù)據(jù)集下載需要的朋友跟隨小編一起看看吧
    2022-09-09
  • git通過(guò)內(nèi)網(wǎng)代理訪問(wèn)外網(wǎng)的相關(guān)配置方法

    git通過(guò)內(nèi)網(wǎng)代理訪問(wèn)外網(wǎng)的相關(guān)配置方法

    這篇文章主要介紹了git通過(guò)內(nèi)網(wǎng)代理,訪問(wèn)外網(wǎng)的相關(guān)配置,配置git代理以http代理為例,給大家詳細(xì)講解,需要的朋友可以參考下
    2023-05-05
  • Visual Studio安裝git插件的方法步驟

    Visual Studio安裝git插件的方法步驟

    這篇文章主要介紹了Visual Studio安裝git插件的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04

最新評(píng)論

汝南县| 健康| 嘉义县| 丰宁| 临泽县| 襄垣县| 汉阴县| 巢湖市| 辽阳市| 文山县| 伊通| 镇雄县| 霍城县| 商水县| 从化市| 芒康县| 荔浦县| 浦东新区| 莱州市| 武邑县| 南丹县| 新余市| 绥江县| 新竹县| 高州市| 政和县| 福海县| 棋牌| 邵武市| 尼勒克县| 龙川县| 米泉市| 安国市| 桐梓县| 荃湾区| 民乐县| 永泰县| 蛟河市| 东乌珠穆沁旗| 兴和县| 巴楚县|