2017-08-08 15 views
0

私は外出先で実験的なプロジェクトを行っています。私はそれをローカルでしか使っていなかったので、機密データ(秘密と接続文字列)を追加しました。私は今、リモートでリポジトリをプッシュする前に、gitの履歴からこのデータをパージしたいと思っています。私はこれを行うにはgithubのguideに従うことをしようとしているが、このコマンドを実行しようとしている: - :窓で感覚的なデータを削除するGit filter-branch

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 filter-branch --index-filter \"git rm --cached --ignore-unmatch C:\Users\George\Source\Repos\myExperimentalProj\server\config.ts" \ --prune-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 -- --all

私はgit version 2.8.1.windows.1でWindowsコマンドプロンプトを使用しています。

私は間違っていますか?

+0

私が理解する限り、参照ガイドの '' \ ''は改行(行継続文字として)をエスケープするために使われますが、 '' \ ''の後ろに改行を入れませんでした。 – PetSerAl

答えて

1

目的に合うかもしれないリファレンスとしてこれを含んでいること https://help.github.com/articles/removing-files-from-a-repository-s-history/ は、単一の引数として扱われ、文字列全体を持つことです。最初に"をエスケープして(つまり、を"の直前に置いて)、このエラーにつながるコマンドラインを混乱させる原因となります。 \

+0

これは完了して作業しているようです(それには時間がかかり、コミットの負荷を循環しました)。しかし、最終的に、それは警告の負荷を印刷した。 'WARNING:Ref 'refs/remotes/origin/master'は変更されていませんが、すべてのブランチで何も変更されていないようです。 –

+0

これは、config.tsファイルが見つからなかったことを示しています。パスは作業ツリーのルートからの相対パスでなければなりません。最初の例のような絶対パスは、インデックスフィルタではうまく動作しません。 2番目の例では、先行する '。/'は必要ありません(私は実際に何かを傷つけるかどうかは分かりませんが)...もしそれがレポルートディレクトリ*からファイルまでの完全なパスであれば、パスはうまくいくはずですが、私が言ったように、 '。/' –

関連する問題