1. ホーム
  2. git

git リポジトリからファイルを履歴とともに完全に削除する

2023-09-11 13:19:49

質問

数回前のアップデートで、配布する権利のないフォントファイルをgit hubにアップロードしてしまいました。

私は比較的アクティブでないリポジトリを持っており、必要であればメンバー全員に通知する能力を持っています。私はいくつかの解決策を試しました。私は、私のディレクトリにある Resources\Video\%font%.ttf ここで %font% は、プレーン、イタリック、ボールドの各フォントの名前です。どのようなコマンドを使えばいいのでしょうか?

どのように解決するのですか?

そのような場合は Gitフィルターブランチ というコマンドで --tree-filter オプションで指定します。

の構文は git filter-branch --tree-filter <command> ...

git filter-branch --tree-filter 'rm -f Resources\Video\%font%.ttf' -- --all


編集の更新

なお git filter-branch --index-filter よりもはるかに高速です。 --tree-filter

git filter-branch --index-filter 'rm -f Resources\Video\%font%.ttf' -- --all


ウィンドウズでは / の代わりに \ .


コマンドに関する説明。

< command > 任意のシェルコマンドを指定する。

--tree-filter: Git は各コミットを作業ディレクトリにチェックアウトし、コマンドを実行し、再コミットします。

--index-filter: Gitは作業ディレクトリではなく、gitの履歴を更新します。

--all: すべてのブランチのすべてのコミットをフィルタリングします。

注意してください。 私はファイルのパスのためによく分からないので、親切にあなたのファイルのパスを確認してください。

これがあなたの助けになることを願っています。