10

f'私は次のものを持っています:

A---B---C-----D--   branch dev
     \--C'-E-/      branch test

私は悪いことをしました: C と C' はほとんど同じコミットです。B の代わりに C でブランチテストを開始できれば、より理にかなっています。

どうすればそれができますか?、リベースだと思いますが、使い方がわかりません、thx

編集:私が欲しいものが明確ではありませんでした:

A---B---C-----D--   branch dev
         \-E-/      branch test

また

A--B--D--E--D 不可能な場合

4

2 に答える 2

10

C一時的なブランチ (から作成)の上にリベースすることでき
ます。git rebasegit branch

git branch tmp C
git checkout test

# rebase the current branch (test) on top of tmp
git rebase tmp  

git branch -d tmp

それはあなたに与えるはずです:

A---B---C-----D--       branch dev
         \--C''-E'-/      branch test

C' は C とまったく同じではないため、C' (ここでは C'') を残しました。
しかし、amsのコメントとして、C' を削除する必要がある場合は、

git rebase -i tmp

これにより、インタラクティブなリベースが得られ、 を完全に削除し、の上でC'のみ再生できます。EC

于 2012-06-11T08:54:34.993 に答える