国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - 編程技術(shù) - Git如何刪除歷史記錄中的大文件詳解

Git如何刪除歷史記錄中的大文件詳解

2020-08-17 16:23laocaixw 編程技術(shù)

這篇文章主要給大家介紹了關(guān)于Git如何刪除歷史記錄中大文件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

Git 作為一個(gè)分布式的版本管理工具,代碼倉庫中是會(huì)保存所有歷史記錄的。雖然,Git 的 .gitignore 文件里可以定義一些忽略文件的規(guī)則,但是,在我們提交代碼的過程中,總會(huì)不小心誤提一些沒用的文件,如果文件中存在大文件,就會(huì)導(dǎo)致:就算我們把它刪了重新提交,.git 文件夾依然會(huì)占用較大的空間。

如何解決這個(gè)問題呢?其實(shí),Git 已經(jīng)為我們提供了解決方案,就是被稱為核彈級的命令 filter-branch。這個(gè)命令可以用來修改歷史提交記錄,把不需要的文件永久地從歷史記錄中刪除

方法如下:

首先,我們需要找出大文件。

找出排名前 5 的 pack 記錄:

?
1
git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3 -g | tail -5

可以看到這樣的信息:

?
1
2
3
4
5
1753e0b6aa1cd3ed27d1d14e8e569664c685e896 blob 44600 43841 37970
ca12c545eae19d688ac840c7f0e2e623a1a4192b blob 45262 8534 140448
7a3265ee94c0ab25cf079ac8ccdf87f41d455d42 blob 54708 49093 171307
72590cee1315e32dada25535184dcee97c6f5af9 blob 1114323 1104823 113887612
4cc1f9dcef1004355d2a595d45808e99f100dc4d blob 114592569 113703558 184054

最后一條就是最大的一條記錄,4cc1f9dcef1004355d2a595d45808e99f100dc4d 是它的 id。
找出該記錄對應(yīng)的文件:

?
1
git rev-list --objects --all | grep 4cc1f9dcef1004355d2a595d45808e99f100dc4d

可以看到:

?
1
4cc1f9dcef1004355d2a595d45808e99f100dc4d app/src/main/assets/Android群英傳.pdf

這個(gè)文件就是罪魁禍?zhǔn)祝剂擞?100 多 M 的空間。

將該文件從歷史記錄中移除:

?
1
git log --pretty=oneline --branches -- app/src/main/assets/Android群英傳.pdf

重寫所有 commit,將該文件從 Git 歷史中完全移除:

?
1
git filter-branch --index-filter 'git rm --cached --ignore-unmatch app/src/main/assets/Android群英傳.pdf' -- --all

到這里,歷史記錄中已經(jīng)沒有該文件了。不過運(yùn)行 filter-branch 產(chǎn)生的日志還是會(huì)對該文件有引用,所以還需要運(yùn)行以下幾條命令,把該文件的引用完全刪除:

?
1
2
3
4
rm -Rf .git/refs/original
rm -Rf .git/logs/
git gc
git prune

這個(gè)時(shí)候,再看文件夾,已經(jīng)小了很多了。然后就可以 push 代碼了,不過就是需要強(qiáng)制 push:

?
1
git push --force

以上就是刪除 Git 歷史記錄中大文件的過程。

當(dāng)然 filter-branch 的作用還不止這些,比如它還可以用來修改歷史提交記錄中的用戶名(username)和郵箱(email)等。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對服務(wù)器之家的支持。

原文鏈接:https://blog.laocaixw.cn/2018/06/28/Git_filter_branch/

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 91久久| 亚洲成a人片在线 | 日韩午夜一级片 | 亚洲精品日本 | 激情一区| 日韩三级av在线 | 国内精品视频在线观看 | 精品无码久久久久久国产 | 一区二区三区在线看 | av网址在线 | 这里只有精品在线播放 | 亚洲www啪成人一区二区 | 国产中文| 国产精品高清在线 | 欧美成人一区二免费视频软件 | 日韩成人在线观看 | 国产黄色av网站 | 久久极品 | 亚洲视频中文字幕在线观看 | 欧美午夜一区二区福利视频 | 国产精品一区久久久久 | 国产精品成av人在线视午夜片 | 亚洲一区精品在线 | 久久国产精品免费一区二区三区 | 欧美激情视频一区 | 一区二区三区精品 | 高清一区二区三区 | 亚洲精品免费视频 | 日日干夜夜骑 | 亚洲激情网站 | 国产女人爽到高潮免费视频 | 精品日韩一区 | av一区二区三区 | 国产成年人在线观看 | 欧美一区二区三区视频 | av片在线播放 | 亚洲精品视频一区二区三区 | 国产99久久 | 亚洲美女久久 | 手机黄网www8xcn| 中文字幕日韩欧美一区二区三区 |