3

私はブランチ(「feature1」と呼びます)に機能を構築していて、それをマスターブランチ(「master」)に数回マージしました。他の機能ブランチを断続的にマスターにマージしたので、「feature1」から「master」へのマージコミットは、先週、他のコミット全体に少し散らばっています。

私がしたいこと:「feature1」->「master」からすべてのマージを、発生しなかったかのように削除します。他のブランチから来た他のすべての作品は、「マスター」にそのまま残したいと思います。

特定のソースからのみ発生したコミットを削除する方法はありますか?つまり、「feature1」ブランチだけですか?

4

1 に答える 1

3

これが 1 回だけ実行する必要があり、マージの数が管理可能な場合は、次のように実行できます。

git rebase -i <sha1 of master before I started merging evil branch in>

不要なマージコミットを手動で編集します。

などを使用してこれを行うより自動化された方法があると確信していますが、filter-branchそれが1回限りのことであれば、リベースを使用するだけで仕事をより速く完了することができます.

于 2013-03-11T16:05:36.007 に答える