誤って、という名前の巨大なファイル(〜250 MB)をリポジトリに追加しました--exclude
。このファイルは、このリポジトリの新しいコードを書いているときにOSXで生成されました。今、私はこことここからGitの履歴からそれを削除する方法を学ぼうとしていました。チュートリアルは素晴らしく明確ですが、問題は、Git--exclude
がファイルではなくオプションであると「考える」ことです。
このコマンドを実行すると:
git filter-branch \ --index-filter "git rm -r --cached --ignore-unmatch ' -exclude ' " HEAD
Gitは文句を言います:
error: unknown option `exclude'
usage: git rm [<options>] [--] <file>...
ファイルのsha番号を使おうとしましたが、何も変わりませんでした。そのようなファイルを削除する正しい方法は何ですか?
引数行を作成する一般的なUNIXの方法は次のとおりです。
<command> <keys&arguments> [--] <arguments>
あなたの場合
command: git rm
keys: -r --cached --ignore-unmatch
arguments: '--exclude'
通常、キーは先頭-
のsによって検出されます。
ただし、を使用して行の引数部分に明示的に書き込むことで、いつでも強制的に引数に移動でき--
ます。
git filter-branch --index-filter "git rm -r --cached --ignore-unmatch -- '--exclude' " HEAD
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加