Команда / шаги для слияния одной ветки с другой более одного раза?

Я получаю сообщение «Уже обновлено» при попытке объединить одну ветку, 'feature_1', в другую, 'release_1', более одного раза, когда изменения были зафиксированы в feature_1 в промежутках между слияниями. То есть у меня что-то вроде:

# Developer 1: create feature_1 branch with initial commit
git checkout -b feature_1 origin/master
git commit -am "Initial commit."
git push origin feature_1

# Developer 2: create release_1 branch and merge feature_1 into it
git checkout -b release_1 origin/master
git merge origin/feature_1
# success
git push origin release_1

# Developer 1: make change to feature_1
git checkout feature_1
git commit -am "Fixed issue."
git push origin feature_1

# Developer 2: attempt to get latest state of feature_1 merged into release_1
git checkout release_1
git merge origin/feature_1

Already up-to-date 

Из чтения связанных вопросов (отчеты о слиянии Git уже обновлены, хотя есть разница и Путаница при слиянии Git. Diff показывает различия и объединяет говорит, что их нет) Я понимаю, что это означает, что feature_1 является предком release_1. Чего я еще не нашел, так это того, как во второй раз объединить / перемотать последние коммиты из feature_1 в release_1.

Из комментариев к первому вопросу, указанному выше, я пробовал следующее, находясь в release_1:

git reset --hard origin/feature_1

По сути, это сбрасывает release_1 так, что оно идентично последнему состоянию feature_1, а не объединяет последнее состояние обеих веток вместе, так что это не то, что я ищу.

Как я могу объединить последние коммиты из feature_1 в release_1, если feature_1 является предком release_1? Я думал, что «git merge» быстро перемотает вперед. Интересно, не хватает ли мне «git pull» или чего-то еще, и при быстрой перемотке вперед не отображается последняя фиксация в источнике. Или, если есть какая-то другая команда / шаг, которую я еще не нашел. В принципе, я использую правильный подход, и мне просто что-то не хватает (или, возможно, в msysgit есть ошибка), или я вообще использую неправильный подход?

Спасибо за вашу помощь.


person jlpp    schedule 11.07.2011    source источник


Ответы (1)


Разработчик 2 должен сделать git pull или fetch на feature_1. Что касается его репозитория, feature_1 не изменился с момента последнего слияния.

person Karl Bielefeldt    schedule 11.07.2011
comment
git pull сделал свое дело. Думаю, я случайно пропустил этот шаг, думая, что ссылка на origin / feature_1 увидит последние коммиты в репозитории origin. Спасибо! - person jlpp; 12.07.2011