Git过滤器分支,以删除无法在Windows上工作的敏感数据

时间:2017-08-08 12:55:22

标签: git github

我有一个实验项目,因为我只在本地使用它,我添加了敏感数据(秘密和连接字符串)。我现在想要在远程推送repo之前从git历史中清除这些数据。我一直在尝试按照github guide来执行此操作,并尝试运行此命令:

  

git filter-branch --index-filter \“git rm --cached --ignore-unmatch C:\ Users \ George \ Source \ Repos \ myExperimentalProj \ server \ config.ts”\ --proune-empty - -tag-name-filter cat - --all

我也试过了 -

  

git filter-branch --index-filter \“git rm --cached --ignore-unmatch。\ server \ config.ts”\ --prune-empty --tag-name-filter cat - - 所有

但是我总是遇到这个错误:

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

我正在使用git version 2.8.1.windows.1的Windows命令提示符。

我做错了什么?

2 个答案:

答案 0 :(得分:1)

"之后参数周围--index-filter的目的是将整个字符串视为单个参数。您通过转义第一个"(即在\之前放置")来击败它,导致导致此错误的命令行的令人困惑的解释。请在没有\

的情况下重试

答案 1 :(得分:0)

您是否在github帮助中遵循了本指南? https://help.github.com/articles/removing-files-from-a-repository-s-history/ 该页面还包含此参考,可能适合您的情况 https://help.github.com/articles/removing-sensitive-data-from-a-repository/