機能ブランチを「元に戻す」場合、どのようなオプションがありますか? 完成した新しい機能を追加してsupercool-feature
(開発にマージし、機能ブランチを削除)、リリースに移行するとします。しかし、ユーザーはこれを本当に嫌いますsupercool-feature
。開発とリリースに既にマージされているこの機能を元に戻す/巻き戻す/元に戻すにはどうすればよいですか?
バージョン管理には SourceTree を使用しています。
このコマンドを実行します
git revert -m 1 <sha1 of M>
説明
あなたの状況はおよそ次のとおりです。
A-B-----C---D-M # master \ / X-Y---Z- # supercool-feature
A、B、C、D は master ブランチにあり、X、Y、Z は機能ブランチにありました。git merge supercool-feature
Git を実行すると、「マージ コミット」M が作成されます。このコミットには、機能ブランチからのすべてのコミットと、マージの競合を修正するための可能な修正が含まれています。そのrevert
ため、その 1 つをコミットすると、機能ブランチからのすべての変更が再び失われます。
実はコマンドは
git revert -m 1 <sha1 of M>
メインライン1ではないX、Y、Zを含むブランチに戻るMを削除します。