Как правильно работать с веткой feature в git, чтобы регулярно забирать обновления из основной?

Коллеги, прошу помощи, не могу разобраться, как мне поставить свой трудовой процесс в правильное русло. Я участвую в проекте, в котором, допустим пишу всего одну feature в отдельной ветке - feature. Причем в силу определенных причин основные разработчики долго не хотят забирать мою фичу. И за время моей работы у них в ветке develop скапливается допустим 100 комиттов, которые нужные мне для работы тоже. И есть второе важное условие, что я работаю с двух мест - из дома и из офиса, так что мне необходимо push-ить свою ветку постоянно на сервер, чтобы я мог всегда иметь доступ к последним изменениям и из дома и из офиса. Ну и … после того как я заберу себе изменения из develop, меня снова могут решить не забирать в девелоп еще неделю, и мне снова потребуется взять что-то из него.

Однажды lead говорит, мол, забери наши изменения из ветки develop себе через merge rebase. Это сделать геморно, так как я уже запушил все свои изменения (для работы дом-офис), и когда я делаю rebase и потом снова push, чтобы продолжить работать дома, то remote разумно не хочет это принимать и его приходиться —force. А дома тоже не хочет pull, так как в локальной версии тоже не те уже коммиты. Но это все обходится, но не приятно делать часто.

Насколько я понимаю, мой «комфортный» вариант работы не предполагает rebase и самое разумное - это просто периодически мне делать merge ветки develop в мою feature, продолжать работать и пушить свою ветку на сервер.

В связи с этим вопрос:
1. Не возникнет ли больших проблем у основных разработчиков потом с моей веткой, которую они в конце концов заходят забрать в develop, так как моя ветка будет представлять собой чередование моих коммитов с взятых из develop и сольется ли все потом.
2. Может быть я не правильно что-то понимаю и подскажите, как сделать мне правильно

Спасибо!
  • Вопрос задан
  • 2325 просмотров
Решения вопроса 1
Tyranron
@Tyranron
Если Вы регулярно мерджите актуальную develop в свою ветку, значит и конфликты решаете по мере их возникновения, соответственно при мердже Вашей ветки в develop больших проблем не должно быть, это даже будет банальный fast-forward, если под актуальностью понимать последний коммит в develop.
Rebase зачем тут делать - не понятно, разве что "хочу историю чище", но в таком случае можно и через git merge --squash слить фичу в develop после ее реализации.

Мой совет: обычный merge develop'а себе в ветку, чем чаще, тем лучше (легче будет конфликты решать).

Собственно, Вы и сами это озвучили.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы