マスターにリベースしようとした後、ブランチを台無しにしました。
私のコミット履歴では、かなりの数のリファクタリング (名前の変更と移動) と、クラスの削除がありました。そして、リモートリポジトリにプッシュすべきではありません。(それ以来、私は自分自身を蹴っています)。
しかし、行われたことは行われます。リベースは履歴を書き換えてコミット(?) (リベース中の競合解決により) するため、以前のコミット HEAD~2 にリセットして最初からやり直すことはできません。すべてのコミットが書き直され、コミットが間違っています。
git から HEAD~2 のスナップショットを取得できます。スナップショットをブランチにマージ (リベース) し、変更をロールバックして最初からやり直す方法はありますか?
よろしくお願いします!</p>
デビッド
更新、内部の git Web ページから、以前のコミットを確認できます。
commit 6f577850231fed07eebdacd3bc5862f84356d803
tree 8be1d60056697bc1b8d7284c4e85a6d1738ac3e2 tree | snapshot
parent 1ca61d4dd69b7be649906834d44bb7fec390153d commit | diff
また、「スナップショット」リンクをクリックすると、gz でスナップショットをダウンロードできます。しかし、私がやろうとすると:
git checkout -b newBranch 6f577850231fed07eebdacd3bc5862f84356d803
私が得た:
fatal: reference is not a tree: 6f577850231fed07eebdacd3bc5862f84356d803
私が実行した場合:
git checkout -b --force newBranch 6f577850231fed07eebdacd3bc5862f84356d803
私が得た:
fatal: git checkout: updating paths is incompatible with switching branches.
このコミットはリモートリポジトリにのみ存在すると思いますか? gitでチェックアウトするにはどうすればよいですか?
解決策: この SO の回答は、私の問題の解決策です: git rebaseを元に戻す