Android技术知识Android开发Android知识

git filter-branch 奇怪错误记录

2017-09-11  本文已影响0人  甜甜的清风啊

git filter-branch --tree-filter 'rm -f <file>' HEAD

错误现象:

今天使用 git push origin master 的时候报错,说有文件过大,push 失败。

错误原因:

后来查证 github 有大文件限制, 50~100M Warning,100M 以上直接 error。然后我就去找到那个文件将其删除了,发现还不行。

错中错:

原来在我以前的提交中,已经把他提交到本地仓库了。我现在虽然将其删除了,但在前几次的快照中还是存在这个文件的记录。需要上面这句话来删除历史提交中的此文件。

但是又来一个错:

在解决这个问题的时候,我执行这句话一直报错。
git filter-branch --tree-filter 'rm -f java_pid4252.hprof' HEAD

    fatal: ambiguous argument 'java_pid4252.hprof'': unknown revision or path not in the working tree.
    Use '--' to separate paths from revisions, like this:
    'git <command> [<revision>...] -- [<file>...]'

后来终于到 StackOverflow上找到了,使用 " 替换掉 ' 即可。原来gitlinux 上开发。在 windows 上面爱出各种各样的错误。我执行上面语句是在 ASTerminal 中执行,出了错。最好是在 git bash 中操作 git。在其它终端上面的话,你可能会需要一颗强大的心脏。

以前也遇到过类似的情况,执行 git reset HEAD^ 的时候出来一个 More? ,也是这个原因,要使用 ~ 替换 ^
还有在玩 githug 这个游戏时,提示出现在答案之后,让我困在第二关许久。

所以在此总结出,当你在其它终端按照正确的步骤操作 git 却出错了,首先切换到 git bash 中去试试。

上一篇 下一篇

猜你喜欢

热点阅读