devブランチ(一定の、時には不安定な変更を伴う)をmasterブランチ(リリースされた安定したコードを格納する場所)にマージしました。マスターブランチを、devブランチとのマージが発生しなかったような以前の状態に復元したいと思います(将来、devブランチをマージするときに、今破棄するすべての変更が「再度」マージされます)。
これはマスターブランチの現在のステータスであり、HEADに「professional-1.1.2」コミット/タグを付けたいと思います。
私は試した:
$ git revert -n professional-1.1.2..HEAD
fatal: Commit 9167e846a387c793edbc089c7ab6bd9eb8260456 is a merge but no -m option was given.
$ git revert -n -m 1 professional-1.1.2..HEAD
fatal: Mainline was specified but commit 380169097f35d07466640bc0db1b639278cd25fa is not a merge.
$ git revert -n -m 2 professional-1.1.2..HEAD
fatal: Mainline was specified but commit 380169097f35d07466640bc0db1b639278cd25fa is not a merge.
少し調べてみると、Gitの答えとして、早送りを無視して元の[ブランチ]を以前のコミットに戻す方法git reset --hard professional-1.1.2
が良いと思います。またはpush'dgitcommitを元に戻します。他の開発者は同じオフィスにいて、マスターに何もコミットしてはいけません(私もそうすべきではありませんが...ええ、ブランチごとの権限はありません)ので、彼らに伝えて何かをすることは大きな問題ではありませんアクションが必要です。git push --force
したがって、最終的に問題は次のとおりです。git revert something
またはgit reset --hard <TAG>
&& git push --force
?の場合git revert
、どのコマンドラインを使用する必要がありますか?