web-dev-qa-db-ja.com

「警告:Ref'refs / heads / master 'は変更されていません」を取得せずにGitでファイルを完全に削除するにはどうすればよいですか?

私はネットの周りのさまざまな投稿をグーグルで読んでいて、試しました:

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

すべての結果:

警告:Ref'refs/heads/master 'は変更されていません

このリポジトリの他のクローンと中央サーバーもあります。私が理解しているように、変更をサーバーにプッシュします。クローンを持つ他のユーザーは、フェッチしてリベースする必要があります(マージではありません)?彼らが変更を加えた場合でも、それは機能しますか?

26
Tower

さて、私は問題を解決しました、それは間違っていた道でした。私はこれを変更しました:

Launcher\lib

これに:

Launcher/lib/

そして今それは動作します;)

26
Tower

同じ問題が発生したため、これを今後の参照としてここに置きます。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

私がそのエラーを受け取ったとき、それは問題でした。

7
Yar