[解決済み] git rm - fatal: pathspec did not match any files.
質問
誤って9000枚以上の写真をプロジェクトフォルダに追加してしまいました。そして、それらをコミットしました。その後、ディスクからそれらを削除しました。コミットしました。
今度は、変更をgitサーバーにプッシュしようとしました。しかし、時間がかかりすぎて、12Gb のデータを送信しようとしました。
ディスク上のファイルサイズをチェックしたところ、本当に
.git
フォルダは12Gb必要です。
写真の削除方法
をクリックします。私が試したのは
git rm
が、失敗します。
❯ git rm public/photos
fatal: pathspec 'public/photos' did not match any files
すでにディスクから削除しているのに、まだ
.git
フォルダーに保存されます。
を追加しようとしたのですが
public/photos
に
.gitignore
:
public/photos/
*.zip
しかし、結果は出ません。
もちろん、私は
hard reset head
私のプロジェクトにこれほど多くのジャンク写真がなかったときまで。しかし、その時から私は何度もコミットし、コードに多くの変更を加えました。
解決方法は?
あなたの場合
git filter-branch
の代わりに
git rm
.
git rm
はファイルを削除して git に追跡されなくなりますが、その画像に対応する古いコミットオブジェクトは削除されないので、12GB の画像に対応する以前のコミットをプッシュしなければならないままです。
その
git filter-branch
一方、これらのファイルは以前のコミットからも削除されるので、プッシュする必要はありません。
-
コマンドを使用する
git filter-branch --force --index-filter \ 'git rm -r --cached --ignore-unmatch public/photos' \ --prune-empty --tag-name-filter cat -- --all
-
フィルターブランチが完了したら、意図しないファイルが失われないことを確認します。
-
次に、.gitignoreルールを追加します。
echo public/photos >> .gitignore git add .gitignore && git commit -m "ignore rule for photos"
-
ここで、プッシュを実行します。
git push -f origin branch
チェック これ , これ そして これ をご覧ください。念のため、これらの手順を進める前に、システム上にレポのバックアップコピーを作成することをお勧めします。
最初のエラーメッセージについては、すでに
git rm
そのため、gitは追跡していないファイルを削除できないので、文句を言っているのです。読む
詳しくはこちら
.
関連
-
[解決済み】git rev-parseは何をするのですか?
-
[解決済み】ファイルのアンリンクに失敗しました。もう一度試してみるべきですか?
-
[解決済み] git stashを元に戻す
-
[解決済み] Git のステージされていない変更から "old mode 100755 new mode 100644" というファイルを削除するにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Gitで変更された複数のファイルのうち、1つのファイルだけを隠す?
-
[解決済み] .gitignoreで一部のファイル以外を無視するようにする
-
[解決済み] Gitでファイルの変更を追跡しない、無視する方法とは?
-
[解決済み] detached HEADとmaster/originの連携はどうすればいいですか?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 複数のコミットをチェリーピックする方法
-
[解決済み] あなたのブランチは 'origin/master' より 3 コミット進んでいます。
-
[解決済み] SourceTree error:1407742E:SSLルーチン:SSL23_GET_SERVER_HELLO:tlsv1警告プロトコルバージョン
-
[解決済み] GitのFETCH_HEADとはどういう意味ですか?
-
[解決済み] 新しいBitbucketでリポジトリを削除するにはどうすればよいですか?
-
[解決済み] Git リポジトリのコミット履歴から大きなファイルを削除/消去する方法は?
-
[解決済み] 悪いマージを修正し、良いコミットを修正されたマージに再生するにはどうすればよいですか?
-
[解決済み】なぜ.gitignoreは私のファイルを無視しないのですか?
-
[解決済み] 本当に存在するファイルを削除できない - fatal: pathspec ... がどのファイルにもマッチしない
-
[解決済み] Git: fatal: Pathspec is in submodule.