繁体   English   中英

如何从git中删除已删除的文件?

[英]How to remove deleted files from git?

我已经提交并在bitbucket中推送了一个太大的文件,我已经在本地删除了它,提交并再次推送。 但是在网站bitbucket上,存储库的大小仍然太大。

听起来你创建了一个删除文件的提交。 这意味着该文件仍然存在于先前的提交中。

你需要做的是重写历史 假设两个最新的提交正在删除并添加该文件,您可以执行以下操作:

git reset --hard HEAD~2
git push --force

这将删除两个最新的提交,然后强行将其推送到bitbucket。 如果没有帮助减少站点,您需要联系bitbucket支持,以便他们可以在您的远程存储库上运行git gc以实际删除已删除的提交/文件。

如果你只想删除给定的文件而不需要整个提交,你可以使用git-filter-branch来完成它,如GitHub文档中解释的那样 (它不是特定于GH的):

git filter-branch --index-filter 'git rm --cached --ignore-unmatch THE_FILE' \
--prune-empty --tag-name-filter cat -- --all

显然,您需要将THE_FILE替换为要删除的文件的名称。 在此之后,您还需要执行强制推送。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM