フィーチャブランチを元に戻すにはどうすればよいですか?完成した新しいフィーチャーsupercool-feature
を追加して(開発に統合してフィーチャーブランチを削除する)、それがリリースに入ったとしましょう。しかし、あなたのユーザーは本当にこれが嫌いですsupercool-feature
。すでに開発とリリースに統合されているこの機能を元に戻す/巻き戻し/元に戻す方法はありますか?完成したフィーチャブランチを元に戻す
私はバージョン管理を行うためにSourceTreeを使用しています。
フィーチャブランチを元に戻すにはどうすればよいですか?完成した新しいフィーチャー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はしていましたあなたのマスターブラジャーnch、X、Y、Zをあなたのフィーチャーブランチに追加します。あなたがしたときgit merge supercool-feature
Gitはあなたのために "merge commit" Mを作成しました。このコミットは、機能ブランチからのすべてのコミットと、マージの競合を修正する可能な修正を囲みます。したがって、revert
がコミットすると、フィーチャーブランチからのすべての変更がもう一度消えます。
実際には、そのコマンドが少し明らかに...
ブランチ含むX、Yに後退Mを削除git revert -m 1 <sha1 of M>
、メインライン1
さてあなたは、マージを戻すないZでありますそれよりも複雑ですが、詳細はコードやテストなどの整理方法にあります。 –
これは実際にgit-flow固有の質問ではありません。どんなgit-flowがあなたのためにしたのかは、開発からフィーチャーブランチを作成してから、それをマージして開発することです。 git-flowには魔法のようなものはありません。それは単なるgitです。 –
@AlexBrownどうすればマージを元に戻すことができますか? git-flowプロセスの仕組みに精通しているかどうかはわかりません。しかし、git-flowでフィーチャーを完成させると、それは "開発"ブランチにマージされ、フィーチャーブランチは削除されます。リリースを決定すると、開発から新しいブランチを作成し、リリース固有の変更を行い、これを「マスター」にマージします。では、開発に統合された「スーパークール機能」をどのように元に戻すのでしょうか? –