2016-06-26 4 views
1

Первоначально я начал так:Как переустановить из ветки с изменением фиксации?

Branch A:  
    Commit A1 
    Commit M9 

Branch B: 
    Commit B1 
    Commit M9 

Тогда я сделал:

git checkout B 
git rebase A 

я закончил с:

Branch A:  
    Commit A1 
    Commit M9 

Branch B: 
    Commit B1 
    Commit A1 
    Commit M9 

Тогда я сделал:

git checkout A 
// then I modified the branch and then I did 
git commit -a --amend 

сейчас штат из моих ветвей

Branch A:  
    Commit A1 
    Commit M9 

Branch B: 
    Commit B1 
    Commit A1 
    Commit M9 

Note that now Commit A1 is actually different in both branches. 

Как я могу обновить Branch B с новым Commit A1, который находится в Branch A?

+0

Необходимо снова переупаковать. – kennytm

+0

Это терпит неудачу. Тонны конфликтов – Kam

+0

Если ваш «старый A1 → новый A1» и «старый A1 → B1» изменяют общую часть по-разному, вам не повезло и приходится разрешать конфликты :( – kennytm

ответ

0

Вы могли бы сделать:

git checkout B 
git rebase -i A 

и когда ваш текстовый редактор открыт, удалите строку, соответствующую «старого А1» фиксации (который находится в ветви В).

Как правило, у вас не должно быть конфликтов для обработки, за исключением случаев, когда B1 основан на том же коде, который вы изменили в своем исправлении (но с ним должно быть намного проще справиться).

Смежные вопросы