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

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

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

文件不見了,第一反應是翻 commit 記錄。翻了半天沒找到,即使翻到了也很費功夫——其實 git log 就可以解決。

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

命令結構

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

輸出較多時,git log 默認用 less 分頁顯示。j / k 上下滾動(一般終端都支持鼠標滾動),q 退出。

參數(shù)說明

范圍控制

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

過濾參數(shù)

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

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

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

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

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

舉個例子,如果某次提交把 baseUrl = "http://a.com" 改成了 baseUrl = "http://b.com",-S "baseUrl" 不會命中(因為該字符串總數(shù)沒變),但 -G "baseUrl" 會命中(因為 diff 里有包含 baseUrl 的改動行)。

輸出參數(shù)

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

路徑限定

-- <path>

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

** 匹配任意層級目錄,記不清文件具體在哪個子目錄時很有用:

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

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

常用命令

# 查當前分支是否刪過指定文件(文件名模糊匹配)
git log --diff-filter=D --summary -- '*axios.min.js'
# 精確查某個分支的刪除記錄
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
# 記得目錄名但不知道完整路徑,用 ** 匹配任意層級
git log --name-status "**/cdn/**/axios.min.js"
# 找到 commit 后看具體改了什么
git show <commit-id>

排查套路

文件消失了,按這個順序查:

Step 1:先確認文件有沒有出現(xiàn)過

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

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

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>

幾個容易踩的坑

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

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

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

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

相關文章

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

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

    由于WAP信道帶寬的限制,我們在編寫WAP應用的時候都希望最大限度地減少消息的傳送量。
    2010-06-06
  • fiddler使用方法之Fiddler顯示IP,Fiddler中文亂碼解決方法以及fiddler模擬發(fā)送get/post請求

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

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

    使用git?config?--global設置用戶名和郵件問題

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

    Git中代碼回退的完全指南

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

    Git建立本地倉庫并上傳到Gitee的詳細步驟

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

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

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

    git stash的正確用法詳解

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

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

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

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

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

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

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

最新評論

城口县| 巫山县| 黄平县| 得荣县| 东乡族自治县| 根河市| 日照市| 新津县| 客服| 昌吉市| 罗定市| 宁陕县| 托克逊县| 玉山县| 临沂市| 特克斯县| 上杭县| 方城县| 南丹县| 杭锦旗| 湟中县| 监利县| 宁陕县| 宜良县| 雷州市| 麻城市| 广丰县| 迭部县| 池州市| 扶风县| 康马县| 仙居县| 舟山市| 南郑县| 汉沽区| 长沙市| SHOW| 盐亭县| 灵丘县| 长葛市| 大悟县|