4

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

4

1 回答 1

8

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

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

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

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

如果您只想删除给定文件而不删除整个提交,您可以按照 GitHub 文档中的说明进行git-filter-branch操作(它不是特定于 GH 的):

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

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

于 2012-07-09T22:26:31.723 回答