代码之家  ›  专栏  ›  技术社区  ›  Amit Singh

从BitBucket历史记录中删除文件夹

  •  1
  • Amit Singh  · 技术社区  · 6 年前

    我是git仓库的新手。我在bitbucket中有一个2GB的限制,我错加了一个 images 文件夹为1.5gb并推送了代码。

    现在比特桶大小是1.8GB。要从历史记录中删除文件夹,我遵循以下步骤。

    Remove folder and its contents from git/GitHub's history

    git filter-branch --tree-filter 'rm -rf import/images' --prune-empty HEAD
    git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git 
    update-ref -d
    echo import/images/ >> .gitignore
    git add .gitignore
    git commit -m 'Removing images from git history'
    git gc
    git push origin master --force
    

    我执行了这些步骤,签入了以前的提交,文件夹被删除。但是 git count-objects -v 仍然提供1.8GB的大小包

    同样在BitBucket存储库设置中,它仍然显示1.8GB

    我遗漏了什么吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   pr1nc3    6 年前

    您必须转到BitBucket页面才能删除一个/多个文件。

    1. 进入你的回购协议,
    2. 选择源(左面板)
    3. 选你的树枝
    4. 找到你的文件夹
    5. 进去删除你所有的图片(在右上角有一个删除选项,里面有3个可点击的点)

    您不能像这样删除文件夹(由于某些原因,BitBucket只允许手动删除文件和分支),但您始终可以手动清空文件夹,并在下次Git推送时通过控制台将其删除。

    小心。 这就像一个“硬删除”,所以在使用时要格外小心,如果可以使用git命令,就不要使用它。

    编辑

     git gc --prune=now  //accepts date
    

    看看这个 link 有很多选择可能适合你的问题。

    另一种方法是git过滤器分支——force。有关此命令的详细信息,您可以找到 here . 这个命令专门用于“重写”git历史,这样它就可以完成您的工作了。这很棘手,但也行。

    最后一个也是最后一个方法(从来没有用过一个诚实的)是第三方软件(非常安全,即使是亚特兰西在他们的文档中包含它),但是在Java中,首先你需要安装Java,以便在控制台中运行Java命令。我看到了你的php标签,所以我把它作为最后一个来整理。我留下这个链接 here .