从git历史记录中删除文件 - 错误的修订错误

Fro*_*om2 27 git

我按照Github上的说明(https://help.github.com/articles/remove-sensitive-data/)来整理一个混乱的存储库.我已成功清除所有.csv文件

git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch *.csv' \
--prune-empty --tag-name-filter cat -- --all
Run Code Online (Sandbox Code Playgroud)

现在需要删除所有.docx文件.但是,当我使用与*.docx完全相同的命令时,我收到一条错误消息: fatal: bad revision ' --prune-empty'

我在github上推送到了原点,并在进行第二次更新之前克隆了一份新的副本.我不确定我做错了什么/不同导致这个错误.任何帮助非常感谢:)

c z*_*c z 53

Git应该从cmd.exe或bash运行.

问题是'在命令中使用.Windows仅使用".您正在寻找的命令是:

git filter-branch --force --index-filter \
"git rm --cached --ignore-unmatch *.csv" \
--prune-empty --tag-name-filter cat -- --all
Run Code Online (Sandbox Code Playgroud)


Fro*_*om2 19

解决了......我,我会一直在之前投入反斜杠后拿出空间--prune-empty的一部分,它的工作原理就像现在预期!不知道为什么它有效....


Pet*_*ris 10

没有一个建议的答案对我有用,尽管它们没有反斜杠

git filter-branch --force --index-filter "git rm --cached --ignore-unmatch *.csv" --prune-empty --tag-name-filter cat -- --all
Run Code Online (Sandbox Code Playgroud)

  • 我不得不在 Windows 中做同样的事情,将单个语音标记更改为双语音标记以避免错误 ```fatal: bad revision 'rm'``` 然后放在没有正斜杠的 1 行上以避免错误 ```'- -prune-empty' 不是内部或外部命令,也不是可运行的程序或批处理文件。```。但是我的文件中有一个空格,所以它似乎没有找到它。如果您的文件有空格无法再次添加语音标记,我可以问您怎么做吗?我尝试了一个星号,但它只是说```警告:Ref 'refs/heads/master' 没有变化警告:Ref 'refs/remotes/origin/master' 没有变化```。 (3认同)

nic*_*ola 9

fatal: bad revision 'rm'从Windows命令行运行时我遇到了类似的错误(),我无法像你那样解决空格问题.

但我可以解决它从git bash命令行运行相同的命令.也许这可以帮助有同样问题的人.

  • 谢谢!切换到git-bash对我有用 (3认同)