2016-05-04 7 views
0

私はこれを持っている:ブランチ間でコミットを移動する方法は?

feature    D - E 
        /
develop A - B C 

私はこの代わりにしたい:

feature   C - D - E 
       /
develop A - B 

すべてのコミットは、すでにgithubのにプッシュされています。しかし、彼らは私のプライベートフォークにしかないので、私は歴史を書き直さなければならない。

コミットCを開発から除外してリベースするのは、最もクリーンで簡単な方法は何ですか?

+1

'git checkoutが開発されました。 git reset --hard HEAD^' –

+0

軽微ではあるが重要な点:*コミット*を移動したり変更したりすることはできませんが、ブランチ名*がどこを指しているかを変更できます。あなたは 'C'をまったく動かそうとしていません.2つの線形連鎖、' E'点、 'D'点、' C'点、 'B'点、' A'方法。 'C'を指しているのは' '前' 'になっている' 'を' 'コミットするために' '開発点 'という名前を付けるだけです。私は、これらの図面は、コミットの右に分岐名を書き、名前からコミットまでの矢印を書いた方が良いと思います。 – torek

答えて

5

あなたがしなければならないことは、Bをコミットするために開発をリセットすることです.Cは機能の履歴にあり、その前身は開発の頭であるため、あなたの望むように見えます。

+0

それから強制的にプッシュ開発しなければならないだろうか? – wim

+0

ええ、履歴を書き換えているので(おそらくリベースで)、強制的にプッシュする必要があります。 – BlueSpaceCanary

+0

はい - 強制的にプッシュ開発spは、githubブランチは、適切な場所になります。 – antlersoft

関連する問題