[解決済み] git は、ステージされていない変更があると言いますが、それを表示しません。
質問
削除したい2つ目のファイル(1つ目はJetBrainsの.ideaフォルダのファイルで、現在は.gitignoreになっています)に対してこのコマンドを実行しているのですが、うまくいきません。
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch gf5/console/basic.php' --prune-empty --tag-name-filter cat -- --all
Cannot rewrite branches: You have unstaged changes.
では、git が一覧表示しないときに、どのような "unstaged" ファイルを参照しているのかを知るにはどうすればよいのでしょうか、また、これを修正するにはどうすればよいのでしょうか。
PS 問題はstash(es)ではなく、私はstashを持っておらず、このレポで一度もstashをしたことがありません。
注:私は
git status
と表示され、これを受信します。
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: gf5/console/basic.php
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
//(and a whole long list of files)
解決方法は?
アハハ! 何が起こっているのかがわかった。 最後の数文を読むと、ちょっとしたヒントがあります。
答えは、まずやることでした。
git status
これは、変更されたファイルが赤で表示され、gitの中では何らかの形で"delet"されていることを意味していると思われます。 それから、私はこうしました。
git add --all
そこから、SourceTreeを使ってステージングされたすべてのファイルをコミットしました(コマンドラインをずっと使っていなくてすみません)。 私は先に進み、同時に変更をサーバーにプッシュしましたが、これはオプションでしょう。
その後、上記のコマンドは正常に動作しました。
別のファイルに対して上記のコマンドを実行しようとしたところ、同じ問題が発生しました。 そこで、もう一度
git status
となり、先ほど履歴から削除したファイルがまだ
そこ
というように、こうする必要があります。
git rm /previous_file_you_just_removed_from_history.php
また、明確にしておきたいのは、filter-branch コマンドはそのファイルの履歴をすべてのコミットから削除しますが、そのファイルに対して行った変更を削除するわけではありません。 つまり、削除されたファイルは、その時点までにあなたが行ったすべての変更の合計であることに変わりはありません。 このコンセプトが誰かの役に立つことを願っています。
関連
-
[解決済み】マージの競合が発生した git stash pop の取り消し
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] Git で、ステージされていない変更を破棄するにはどうしたらいいですか?
-
[解決済み] Gitで変更された複数のファイルのうち、1つのファイルだけを隠す?
-
[解決済み] Git にファイルモード (chmod) の変更を無視させるには?
-
[解決済み] ステージングされた変更を表示するにはどうしたらいいですか?
-
[解決済み] Gitでファイルの変更を追跡しない、無視する方法とは?
-
[解決済み] git は修正された変更のみを追加し、追跡されていないファイルは無視する
-
[解決済み] ローカルのGitの変更を削除するさまざまな方法
-
[解決済み] 現在のブランチにコミットされていない変更がある場合、別のブランチをチェックアウトする
最新
-
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 リモートブランチがリモートの参照先を見つけることができない
-
[解決済み] git rebase fatal: 必要なリビジョンは1つです。
-
[解決済み】Git Extensions。Win32 エラー 487: cygwinのヒープ用に領域を確保できなかった、Win32エラー0
-
[解決済み] git: fatal: リモートリポジトリから読み取れませんでした。
-
[解決済み] リモートから<branch name>とマージするように構成が指定されていますが、そのような参照は取得されませんでしたか?
-
[解決済み] LFはgitでCRLFに置き換えられます - それは何ですか、そしてそれは重要ですか?[重複]。
-
[解決済み] Git pull - マージする前に移動または削除してください。
-
[解決済み] GitBash | origin master - rejected (fetch first) | GitHub リポジトリにファイルがない。
-
[解決済み] git commit signing failed: secret key not available.