リモート reflog にあることがわかっているが、ローカル リポジトリにはない SHA へのリモート ブランチ ポインターをリセットする方法はありますか?
ローカル リポジトリでリセット (ソフト/ミックス/ハード) がどのように機能するかはよく知っていますが、ここでは役に立ちません。
これが私が修正しようとしている状況です。しばらくフェッチを行っていなかったので、リモート マスターはまだローカルにないマージで更新されていました。
私は失敗しgit push --force
、リモートの機能ブランチのみを更新する意味を持ちましたが、引数を忘れて、機能ブランチとマスターをローカルに持っていたリビジョンに強制することになりました。
これは、マスターが最後にフェッチした後に発生したマージ コミットを欠落していたことを意味します。私たちは github を使用しているので、マスターが以前にいた SHA を知らせる電子メールがありました。また、URLにアクセスして、コミットがまだそこにあることを確認できました(ガベージコレクションはまだありません)。
失ったマージをやり直し、それを再度プッシュするだけで、それを「修正」することができました(別のコミッターと時間だったため、SHAを変更することになりました)。これは最適ではなく、マスターで複数のマージ コミットを見逃していた場合はさらに悪化する可能性があります。
私がやりreset --hard
たかったことは、それが存在するはずだったSHAへのリモートマスターブランチだけでした。レポへのSSHアクセスなしでそれを行う方法はありますか?
これは github 上にあるため、レポに直接アクセスして、そこから ssh して直接リセットすることはできません。