[解決済み】削除済みの大きなファイルがあるため、GitHubにプッシュできない。
2022-03-24 11:02:31
質問
現在、私は
- 空のGitHubレポ
- SSHサーバーのレポ(メイン)
- ローカルレポ
SSH サーバーのレポが最新のレポ (本番サイト) だったので、そこからローカルに Git clone したのです。それから
git push
をGitHubに転送しました。
すべて順調だったのですが、filename.gz が GitHub では大きすぎるということで、何かメッセージが出ました。このファイルは必要なかったので、いくつかの Git コマンドを実行して Git キャッシュから削除し、SSH サーバーにプッシュしなおしました。
ローカルには大きなファイルは見当たらないが、SSHサーバーには
git diff
そして、ローカルリポジトリにファイルがないにもかかわらず、GitHub にプッシュしようとするとエラーが発生します。
remote: エラーです。ファイル fpss.tar.gz は 135.17 MB で、GitHub のファイルサイズ制限である 100 MB を超えています。
問題を解決するために、以下の手順を実行しました。 GitHubのヘルプに記載されている ということで、これで十分では?
ローカルでもなく、git status/diff/pushにも記載されていないのに、どうしてファイルがエーテルに残っているのでしょうか?
解決方法は?
を使用することができます。
git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch <file/dir>' HEAD
これで、そのファイルの履歴がすべて削除されます。問題は、そのファイルが履歴の中に存在することです。
このコマンドはコミットのハッシュを変更するもので、特に共有リポジトリでは本当に問題になります。結果を理解せずに実行するべきではありません。
関連
-
[解決済み] GitBash | origin master - rejected (fetch first) | GitHub リポジトリにファイルがない。
-
[解決済み] Git リポジトリで削除されたファイルを検索して復元する方法
-
[解決済み] Git を使ってタグをリモートリポジトリにプッシュするには?
-
[解決済み] プロジェクトのコミット履歴から削除されたファイルを見つけるには?
-
[解決済み] Gitのプッシュを正しく強制する方法は?
-
[解決済み] Git で単一のブランチをクローンする方法を教えてください。
-
[解決済み] ブランチが追跡しているリモートを変更するには?
-
[解決済み] Git リポジトリで現在のコミットを唯一の(初期)コミットにする?
-
[解決済み] Git リポジトリがデタッチド HEAD 状態になったのはなぜですか?
-
[解決済み】Gitにプッシュすると、エラーコード403 fatal: HTTPリクエストに失敗しました が返ってくる。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】プッシュしようとするとGitエラーになる -- pre-receive フックが減少した
-
[解決済み】Gitマージで「すでに最新」と報告されるが、違いはある
-
[解決済み】以下の追跡されていないワーキングツリーファイルは、マージによって上書きされますが、私は気にしません。
-
[解決済み】ローカルに変更があるにもかかわらず、git pushが「すべて最新」と言う
-
[解決済み] [email protected] へのいくつかの参考文献のプッシュに失敗しました。
-
git revert 複数コミット
-
[解決済み] ERROR: リモートレポ 'origin' のクローン作成に失敗しました。
-
[解決済み] git stashを元に戻す
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git リポジトリで現在のコミットを唯一の(初期)コミットにする?