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