我有一个实验项目,因为我只在本地使用它,我添加了敏感数据(秘密和连接字符串)。我现在想要在远程推送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命令提示符。
我做错了什么?
答案 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/