централизованный рабочий процесс Bitbucket и синхронизация вилки

Q1. Bitbucket имеет функцию синхронизации для форка. Когда я синхронизирую, означает ли это, что мой репозиторий синхронизируется и объединяется с репозиторием восходящего потока, из которого я разветвился, с каждой ветвью в соответствии с их именами? Таким образом, это фактически git fetch и merge для каждой ветки с соответствующими именами веток, если бы у меня была вилка на моем локальном компьютере и я решил синхронизироваться.

Q2. Репозиторий основной ветки имеет мастер и ветку разработки. Ветка разработки извлекает запросы и объединяет их, сравнивается с веткой master и объединяется с веткой master. Этот коммит слияния, созданный в основной ветке, не должен присутствовать в ветке разработки, верно? Скажем, ветка разработки обрабатывает все запросы на вытягивание, которые также создаются из ветки разработки, а не объединяются с мастером. Каждая ветка разработки должна быть очищена от коммитов «master-merges-develop»?


person TurtleTread    schedule 12.04.2017    source источник


Ответы (1)


Что касается Q1, документация ясна:

Что синхронизируется?

При выполнении автоматической синхронизации Bitbucket Server обновляет ответвление следующим образом:

  • для веток — Bitbucket Server делает любое быстрое изменение, где нет необходимости объединять работу и нет риска потерять изменения.
  • для тегов — Bitbucket Server выполняет обновления только в том случае, если текущее состояние совпадает с тем, на которое указывает восходящий поток. Таким образом, новый тег в восходящем потоке создаст новый тег в ответвлении, если только у вас нет тега с таким же именем, когда обновление завершится ошибкой.

Ручная синхронизация

Если восходящий поток и ваша вилка разошлись, так что в каждом из них есть изменения, которых нет в другом, Bitbucket Server не будет выполнять слияние автоматически. При посещении ветки на Bitbucket Server у вас есть возможность вручную синхронизировать ветку.

Вы можете вручную синхронизировать свою ветку в любое время, используя Synchronize, перейдя на вкладку Settings > Fork syncing для разветвленного репозитория или на любой из вкладок Source или Commits для репозитория:

введите здесь описание изображения

Для Q2, если слияния всегда выполняются от разработки к мастеру, коммиты слияния в мастере никогда не будут в разработке.

person VonC    schedule 12.04.2017
comment
Я прочитал этот документ из битбакета, но хочу подтвердить, что синхронизация фактически объединяет каждую ветку в соответствии с их именами. Думаю, дело в этом. - person TurtleTread; 12.04.2017