Как я могу периодически перебазировать изменения из родительской ветки, не пытаясь включить изменения, которые уже есть в моей ветке? - PullRequest
0 голосов
/ 28 марта 2012

Я создал ветку на основе моего удаленного «origin / master» и выдвинул эту новую ветку на удаленный как «origin / tester» (и обновил свою локальную ветку, чтобы объединить ее с этим новым удаленным вместо origin / master).

После того, как мастер получил несколько необходимых мне коммитов (был добавлен новый файл "testfile"), я запустил (с проверенной веткой локального тестера):

git fetch origin
git rebase origin/master
git push origin tester

Ивсе было хорошо.Ожидаемые изменения были включены в мою локальную ветвь и аккуратно отправлены в удаленную ветку источника / тестера.Затем в обе ветви были внесены дополнительные изменения (не конфликтующие изменения в отдельных файлах).Итак, я сделал:

git fetch origin
git rebase origin/master

, и я получил конфликт, сказав, что оба добавили «testfile».Это заставляет меня думать, что когда он выполнял ребазинг, он включал в себя все изменения, произошедшие с тех пор, как origin / tester отделился от origin / master, а не делал все изменения, которые были сделаны после того, как я в последний раз сделал ребазинг от origin / master.Я прав в этом?Как я могу обновить свою ветку, чтобы заставить ее делать "правильные" вещи?

1 Ответ

0 голосов
/ 28 марта 2012

После вашей первоначальной перезагрузки пуш не мог сработать. Вам бы потребовалась опция force (-f или --force).

Исходя из этой неточности в предоставленных вами шагах, кажется, что вы в конечном итоге перебрасываете работу поверх себя.

...