从git历史记录中删除文件无法生效。

7

我正在尝试使用这个GitHub的过程删除一个包含敏感数据的文件。

然而,这对我的特定存储库不起作用。当我运行:

git filter-branch --index-filter 'git rm --cached --ignore-unmatch some_file.json' \
  --prune-empty --tag-name-filter cat -- --all

它完成了:

Rewrite 73f9cce9ab282cec272022314f361c1cd48955a7 (418/418)  
WARNING: Ref 'refs/heads/master' is unchanged     
WARNING: Ref 'refs/remotes/origin/blah' is unchanged    
WARNING: Ref 'refs/remotes/origin/blah2' is unchanged     
WARNING: Ref 'refs/remotes/origin/blah3' is unchanged     
WARNING: Ref 'refs/remotes/origin/blah4' is unchanged     
WARNING: Ref 'refs/remotes/origin/master' is unchanged

但是什么也没有改变。当我执行时

git push origin master --force 

它说:

一切都是最新的

有人知道我做错了什么吗?


奇怪。这个文件肯定有历史记录吗?我假设some_file.json是它的完整路径? - Christopher
好的,是的,我有些笨了。我没有使用完整路径。我猜这是必需的。谢谢! - przygode
确实。就git而言,文件名包括其完整路径,否则./some_file.json./path/here/some_file.json之间没有区别。 - Christopher
1个回答

6

根据评论讨论,使用完整的文件路径。当前版本的命令在顶层存储库目录中删除 some_file.json


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接