我已经在我的Rails项目的本地git版本上做了一堆我不想丢失的更改,但是在这样做时,我不小心创建了一个 供应商/捆绑 git中的文件夹。

我一提交就意识到我这样做了,并为文件夹做了一个git rm(并将文件夹添加到gitignore),并再次提交。但是,现在我无法推动原件,因为捆绑太大。

我需要什么

  • 如何保留我所做的编辑(和新文件)。
  • 从git历史记录中删除bundle文件夹时
  • 因为目录太大,所以不要推送提交

我一直在寻找各种软重置的方法,但我被卡住了。.

有帮助吗?

解决方案

你可以 git reset --soft HEAD~x 其中x是您想要在您的情况下重置-2的审核数量,然后将目录添加到gitignore文件中,并将其从暂存区域中删除。

其他提示

我想我找到了答案:

这通常发生。有人意外地犯了一个巨大的 毫无意义的git添加的二进制文件。,你想删除它 到处。也许你不小心致力于包含一个文件的文件 密码,并且您希望制作项目开源。过滤器分支 您可能想要用来擦除整个历史的工具。至 可以从整个历史记录中删除名为passwords.txt的文件 使用--tree-filter选项来过滤分支:

source

git filter-branch --tree-filter 'rm -f /vendor/bundle' HEAD

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top