30

プルリクエストのために master から最初に作成されたものであるため、履歴全体を書き換えたいトピックブランチがあるとします。何らかの理由で、git log渡したいコミットハッシュを決定するために使用するのは簡単でも明白でもありません

git rebase -i <commit>

git merge-base <branch1> <branch2 || master>2 つの参照が祖先を追跡できるコミットを見つけるために使用できることを知っており、それを使用してコミットを決定できます。私が知りたいのは、このブランチ全体をインタラクティブにリベースするより良い方法があるかどうかです (マスターが進んだかどうかに関係なく)。

git rebase -i `git merge-base my_branch master`

編集:このブランチで行われた最初のコミットの親を変更したくないgit rebase -i masterので、ブランチが作成されてから両方のマスターが進んでおらず、現在指しているコミットマスターからブランチが作成された場合にのみ機能します。

4

2 に答える 2

23

たぶん私はあなたの質問を誤解していますgit rebase -i masterが、あなたが望むことをすべきだと思います。マージ ベースを特定し、その時点から現在の HEAD までのブランチ全体をリベースして、master の現在の先端から分岐したように見せます。

また、マスターが進行していない場合、リベースはほとんど何もしません。

于 2012-05-02T16:31:03.507 に答える