0

Git の多数のコミットに多数のデルタ ファイル (.*~) があり、すべてのコミットからすべてのファイルを削除したいと考えています。

4

1 に答える 1

2

すべてのコミットから削除すると、次のようになりgit filter-branchます。

git filter-branch --index-filter 'git rm --cached --ignore-unmatch .*~' HEAD

GitHub ヘルプ ページには、より完全なコマンドがあります。

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch .*~'  --prune-empty --tag-name-filter cat -- --all

(このブログ投稿で述べたように):

  • --index-filterに似て--tree-filterいますが、ツリーをチェックせず、はるかに高速です。
  • --ignore-unmatchパラメータ。存在しないファイルを無視するために使用されます。

ただし、それはレポの履歴を書き換えます。
つまり、レポを既に複製している共同作業者は、自分のローカル クローンをレポの新しい履歴にリセットする必要がありますgit push --force

于 2013-05-26T14:20:07.663 に答える