1. ホーム
  2. git

古い git のリベースを中止し、リベースの開始以降のコミットを失った

2023-09-16 12:49:47

質問

くそっ! 一週間ほど前、リポジトリをきれいにしようとしていくつかのコミットをリベースしていたのですが、どうやら実際にはそれを終わらせていなかったようです。1 週間といくつかのコミットから今日、今日からのいくつかのコミットを並べ替えるために rebase に行ったところ、すでにリベースの途中であることを告げられました。

これは、念のために私のレポをコピーする合図であるべきでした。しかし、私はそうしませんでした。代わりに、私は git rebase --abort を実行したのですが、これはその時点では正しく聞こえました。まあ、それは正しくありませんでした。それは一週間前のリベースを中止させ、マスターのHEADを古いものにリセットしてしまったのです。ダミー!

他のブランチにはかなり新しいものがいくつかあり、何度かリモートにプッシュしましたが、最も新しい変更は永遠になくなってしまったように見えます。私の変更を回復する方法があるかどうかを知るための適切なレベルの git-fu を私は持っていないのです。

私は失敗したのでしょうか?

EDIT - わあああああああああああああああああああああああああああああああああああああああああああああああああ みんなありがとう! git reflog は凄い! 完治しました...教訓です。最初に投稿されたTchalvakさんの回答を受理したことに印をつけます。

どのように解決するのですか?

チェック git reflog . ほとんどの場合、これらのコミットハッシュを参照しながら過去にさかのぼることができます。

そうすれば、追跡されていないファイルを失うことなく、好きなようにいじくり回すことができます。 できない から戻ってくることはできません。