[解決済み] master よりも 5 コミット先にあるブランチのコミットで、大きすぎるファイルを削除する方法
質問
私はこの問題で一日中立ち往生しています、ここで答えを探しています :( ...
コンテキスト
私はあるプロジェクトで一人で作業しており、自分のコンピュータ以外の場所に作業内容を保存するために今までgithubを使用していました。 残念ながら、私はローカルリポジトリに非常に大きなファイルを追加しました:300mb(これはGithubの制限を超えています)。
私がしたこと
自分が作ったものの履歴を作ってみる。
-
私は(間抜けにも)すべてをインデックスに追加しました :
git add *
-
変更をコミットしました。
git commit -m "Blablabla"
-
オリジンマスターにプッシュしようとしたのですが
git push origin master
しばらく時間がかかったので、CTRL+Cで、ステップ2と3を4回繰り返し、ファイルが大きすぎてgithubにプッシュできないことに気がつきました。
-
私は大きなファイルを削除するという大変な間違いを犯しました (git rm を行ったか、単純な rm を行ったか覚えていません)。
-
の指示に従いましたが、( https://help.github.com/articles/remove-sensitive-data )
-
ブランチをgit filterしようとすると、以下のエラーが表示されます : "ブランチを書き換えることができません。You have unstaged changes."
ありがとうございました。
どのように解決するのですか?
ファイルを削除すると、それは変更となり、git が文句を言っているのはステージされていない変更です。 git status を実行すると、ファイルが removed/deleted と表示されるはずです。 この変更を取り消すには
git checkout -- <filename>
. そうすると、ファイルは元に戻り、ブランチはきれいになります。 また
git reset --hard
を実行すると、コミットした時点の状態に戻ります。
私は、あなたが削除したい非常に大きなファイルを持つ最後のコミットであると仮定しています。 この場合
git reset HEAD~
それから、コミットをやり直します (大きなファイルは追加しません)。 そうすれば、あなたは
git push
を問題なく実行できるはずです。
このファイルは最後のコミットに含まれていないので、問題なく最後のステップを行うことができます。 変更をコミットまたは削除する必要があるだけです。
関連
-
[解決済み] 現在のブランチのトラッキング情報がありません。
-
git occurs このリポジトリで別のgitプロセスが動作しているようです。例えば、.NETで開いたエディタなど。エラー
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] detached HEADとmaster/originの連携はどうすればいいですか?
-
[解決済み] 複数のコミットを1つのスクワッシュされたコミットとして別のブランチにマージするにはどうすればよいですか?
-
[解決済み] リモートブランチにプッシュ済みのマージコミットをリバートする方法は?
-
[解決済み] 同じブランチの異なる2つのコミット間で同じファイルを差分するにはどうしたらいいですか?
-
[解決済み] フォルダからサブモジュールのリポジトリを作成し、そのgitコミット履歴を保持する
-
[解決済み] 現在のブランチにあるファイルをメインブランチにある同じファイルに上書きしますか?
-
[解決済み] Git のリモート HEAD を master 以外に指定するように変更する
最新
-
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 pull reports エラー: :cannot open .git/FETCH_HEAD:Permission denied (.git/FETCH_HEADを開くことができません。
-
git push は最新の解決策を提供します。
-
[解決済み] GitのHEAD^とHEAD~の違いは何ですか?
-
Gitのコミットでfatal: unable to auto-detect email addressのエラーが報告される。
-
[解決済み] シングルブランチクローンを「元に戻す」方法は?
-
[解決済み] GitHubで2つのブランチの差分を取るには?
-
[解決済み] Gitでは、これらの言葉はどのような意味ですか?リポジトリ、フォーク、ブランチ、クローン、トラック?
-
[解決済み] Git のリモート HEAD を master 以外に指定するように変更する
-
[解決済み] GitHubのウェブサイト上でディレクトリやフォルダの名前を変更するには?
-
[解決済み] ファイル変更時のDockerコンテナの再構築