1. ホーム
  2. git

[解決済み] git rebase -skipは具体的に何をするのですか?

2022-02-15 02:57:34

質問

をしたところです。 git pull --rebase origin master となり、競合が発生しました。

まず、このコンフリクトは私が触っていないファイルで、10コミットほど前のものでした。なぜこのようなことが起こるのでしょうか?

その後、私は誤って git rebase --skip そのパッチはスキップされました。

コミットを飛ばしてしまったのではないかと心配になり、master ブランチの新しいバージョンをチェックアウトして、リベースを行ったブランチと新しい master ブランチとの diff を取ってみました。 diff に表示されるのは最新のコミットだけで、ログを見ると、「スキップ」されたパッチがコミット履歴に表示されています。

何が起こっているのか、どなたか説明してください。

解決方法は?

それは、それが言うことを行う、それ スキップ をコミットします。もしあなたが rebase --abort を実行した場合、スキップしたコミットももちろん元に戻されます。

もしあなたの変更がすでに上流に存在していた場合、Git はあなたのコミットを適用できません (ただし、パッチがまったく同じであれば通常は自動的にスキップされます)。自分のコミットはスキップされますが、変更は現在の HEAD に残っています。なぜなら、その変更はすでに上流で適用されているからです。

自分の重要な変更を削除していないか、本当に確認する必要があります ;) (リベース前の状態に戻るには reflog を使ってください)