如何在Git中永久删除文件而不"警告:参考'refs/heads/master'不变"?

Tow*_*wer 25 git git-filter-branch

我一直在谷歌搜索和阅读网络上的各种帖子,我试过:

git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch Launcher\lib" --prune-empty -- --all

git filter-branch --tree-filter "rm -rf Launcher\lib" --prune-empty -- --all

所有导致:

警告:参考'refs/heads/master'保持不变

此存储库还有其他克隆和中央服务器.我将推送更改到服务器,据我所知,其他克隆只需要获取和rebase(不合并)?如果他们做出改变,它还能运作吗?

Tow*_*wer 26

好吧,我解决了问题,这是错误的道路.我改变了这个:

Launcher\lib

对此:

Launcher/lib/

现在它有效;)


Yar*_*Yar 7

我将此作为未来参考,因为我有同样的问题:如果你使用cmder(或其他ConEmu口味),使用双引号而不是单引号.

如果您的地址中有一些空格,请用引号括起路径:

git filter-branch --force --index-filter \
"git rm --cached --ignore-unmatch 'server/bin/some file.txt'" \
--prune-empty --tag-name-filter cat -- --all
Run Code Online (Sandbox Code Playgroud)

当我收到错误时,这就是问题所在.