[英]Git remove specific files from all previous commits
我開始了一個小項目(10mb),隨着它的增長和產生輸出圖像,它呈指數增長(達到12 gb)。 我知道我上傳的圖片不是代碼的一部分。 我刪除了它們,添加了一條規則,即不上傳圖像並保持提交。 現在的問題是代碼仍然只有幾個mb,但是整個存儲庫重2 gb。 我想還原或刪除我每次發送圖像時上傳的歷史記錄中的所有更改
new file: image.png
到服務器上載圖像,現在我要刪除圖像的任何痕跡。
我獨自一人在分支機構工作。
有人可以告訴我該怎么做嗎?
可以使用git rebase -i
。 它將打開一個對話框,您可以在其中更改每個提交並從該提交中刪除圖像
變基的副作用是SHA-1將被更改,如果其他人已經拉出了分支,它將對他不可用,他將不得不刪除該分支並再次將其檢出。 因此,請三思而后行。
git log --follow <file_name>
閱讀這篇文章 。 它有詳細的解釋+示例代碼。
將大文件存儲在子模塊中,這樣它們就不會成為您的基本代碼的一部分
您可以使用git filter-branch
。 Github有一個很好的幫助頁面,解釋了從存儲庫中刪除文件的過程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.