beta ブランチを master ブランチにマージしました。原点に押し込みました。私は今、マスターをローカルとリモートの両方で合併前の状態にしたいと考えています。
すでにプッシュされたマージを元に戻すための良い答えは、
git revert -m 1 commit_hash
これが実際に進むべき道である場合、どのようにcommit_hashを決定できますか? merge-baseによって返されたハッシュを試してみましたが失敗しました:
$ git merge-base --all master beta
1f4b949b7ef97abf913ae672e3acd0907abfac1b
$ git revert -m 1 1f4b949b7ef97abf913ae672e3acd0907abfac1b
error: Mainline was specified but commit 1f4b949b7ef97abf913ae672e3acd0907abfac1b is not a merge.
fatal: revert failed
ブランチの git-log と gitk の両方のレンディションを調べましたが、それらは非常に長く、おそらくより大きな混乱を招く前に助けを求める必要があると感じるほど、解釈が不確かです。ベータ版は、マスターから派生した v2 から派生しました。新しいブランチを master で最新の状態に保つため、途中で master から v2 および beta へのマージがいくつかありました。beta から master への方向の合併は、私が訂正したい間違いでした。
マージ ポイントを決定したら、マージ後に master で行われたコミットが実際にはベータ ブランチにあるはずのコミットを見つけた場合、それらを移動する最善の方法は何ですか?