2016-09-17 6 views
3

を更新する方法これは私のグラフである:Gitは - 古いコミット

Branch A a-->b 
       | 
       v 
Branch B  b-->c 

私がコミットbから、枝Aから出てきた枝Bを持っています。
Bブランチでコミットしました。cと呼ばれています。

今度は私が正確b'するブランチBにCOMIT bを更新するにはどうすればよいb'

Branch A a-->b' 
       | 
       v 
Branch B  b-->c 

git commit --amendと枝Abをコミット更新しましょうか?

おかげで

答えて

3

実は、GRAPは

a--b (A) 
    \ 
    c (B) 

が後に修正され、新しいb'tmpとしてbマーキング)しているでしょう:

a--b' (A) 
\ 
    b--c (B) 
(tmp) 

あなたはBをリベースする必要がありますAに:

git rebase --onto A tmp B 

a--b' (A) 
    \ 
    c' (B) 

divyumとしてコメント、競合の可能性が生じ、間をコミットあなたもマージすることができ、それはAに追加して、bを複製:私はチェリーピッキングやリベースを好む

a--b'--M (A) 
\ /
    b--c (B) 

+0

AをBにマージしないでください。またはcherry-pickがAからBのヘルプをコミットしますか? – divyum

+0

@divyum 'rebase --onto'は' t'から 'B' HEADまでのすべてのコミットをチェリーピッキングし、' A'に再生します:http://stackoverflow.com/a/1994491/6309を参照してください。 – VonC

+0

ohk、意味が成り立ち、AをBにマージします。@VonC – divyum

関連する問題