Выполнение запроса на извлечение последнего коммита на сервере

Выполнение запроса на извлечение последнего коммита на сервере

Предположим, что последние коммиты на моем сервере выглядят так:

A1 -> A2 -> A3

Мой локальный репозиторий синхронизирован с сервером, и теперь я создаю ответвление от A3:

A3  
|  
B1 -> B2 -> B3

Наконец я закончил свою задачу в коммите B3 и хочу отправить на сервер и объединить (PR). Но на сервере кто-то другой добавил новые коммиты:

A1 -> A2 -> A3 -> A4 -> A5

Просматривая A4 и A5, я вижу, что нет конфликта с моей работой над B3, поэтому я хочу объединить свою работу, как будто я ответвился напрямую от A5. Это выглядит действительно распространенной задачей, как правильно это сделать?

решение1

Я понятия не имею, как вы делаете свои pull-запросы. Если A1-A5 и B1-B3 все отправлены на удаленную ветку в каждой ветке, все, что вам нужно сделать, это перейти на ветку A или B, а затем git pull remote origin BRANCH A/Bуказать имя. Поскольку вы работали на B, просто сделайте git pull remote origin BRANCH Awhile на ветке B. Это даст вам A1-A5 и B1-B3 на той же ветке. Затем используйте ветку B, чтобы создать PR для master.

Альтернативный вариант (правильный, на мой взгляд) — сделать PR для мастера A и PR для мастера B. Наложение A, которое уже есть в B, не должно вызвать никаких проблем.

Если бы A и B вообще не были связаны, вам следовало бы создать ответвление B от вашей ветки develop или эквивалентной ей.

Вот примернелинейная стратегия ветвлениядля более сложных рабочих процессов.

Видя этолинейный и нелинейный рабочий процессможет помочь лучше представить себе происходящий беспорядок.

Если мое объяснение и понимание вашего сценария неверно, дайте мне знать, чтобы я мог изменить или полностью удалить ответ.

Связанный контент