繁体   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