题
我已经在我的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
不隶属于 StackOverflow