簡體   English   中英

如何忽略 git 中的大量已刪除文件?

[英]How to ignore numerous deleted files in git?

我添加了一個包含數百萬個文件的文件夾,使用git add和刪除它們使用git rm -r FolderPath 然后我提交了git commit和 object 文件夾大小在.git 達到超過 250mb。 因此,當我嘗試推送存儲庫時,它實際上並不能完成大量文件的工作。 我嘗試了很多方法,如git add -ugit gcgit gc --prune=now --aggressive等,但沒有一個解決了這個問題。

最后我刪除了 object 文件夾,一切都搞砸了。 所以我既不能推也不能拉。

有人知道避免這些情況的簡單方法嗎?

最好的方法是:不要提交你不想提交的內容。

每個提交都會添加到存儲庫。 存儲庫只不過是大量提交的集合。

所有提交都是完全、完全只讀的。 任何提交的任何部分都不能更改。

每個提交都有其所有文件的完整快照。 如果快照中的文件與某個先前快照中的某個先前文件相同,則 Git 可以並且確實重復使用先前的文件。 如果快照沒有以前的文件,它只是沒有文件。 這不會改變之前的快照。 您仍然只是添加一個快照:它只是一個沒有文件的快照。

可以刪除一個提交,排序。 但是,要做到這一點,您還必須刪除每個后續(后代)提交,因為每個提交的一部分是其先前提交的 commit-hash-ID,它必須存在。 因此,如果您錯誤地輸入了一個大提交,那么當它仍然是最后一個提交時,很容易將其刪除。 但是,如果您在其之上添加更多提交,您現在必須從錯誤的提交中刪除每個提交。

我將把 rest 留給如何撤消 Git 中最近的本地提交?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM