プロジェクトを開始したときに、特定のファイルを.gitignoreに追加するのを忘れたため、必要のないファイルをコミットしました。ここで説明するように、後でファイルを無視しました。ファイルはまだ私のリポジトリの履歴に存在し、現在私のリポジトリのサイズは10 GBであるため、損傷はすでに発生しています。
上記の理由でファイルをプッシュしていませんので、履歴を書き換えても大丈夫です。要するに、私がする必要があるのは、履歴を書き換えて、その後、現在のファイルが.gitignore
リポジトリ内のコミットに存在しないようにすることです。
編集:大きなサイズの原因となる小さなファイルがたくさんあるので、特定のサイズのしきい値を超えるすべてのファイルを削除する方法について提案された重複は、この問題を解決しません。
するには、元のように履歴をコミットリセットは、使用することができますgit reset --hard origin/branchname
。
ファイルを無視して履歴から削除するには、次の2つの側面に従うことができます。
.gitignore
ファイルを作成します(持っていない場合)touch .gitignore
。.gitignore
。ワイルドカードを使用できます。次に、変更をコミットします。git rm filename -r --cached git commit
git filter-branch --index-filter 'git rm --ignore-unmatch -r --cached filename' --prune-empty -f -- --all
ローカルリポジトリを整理するには(この手順をスキップすることもできます):
rm -Rf .git/refs/original
rm -Rf .git/logs/
git gc
git prune --expire now
するには、リモートに書き換え履歴をプッシュします:
git push -f --all
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加