Как разветвлять подотрасль как другую ветку dev с предстоящими коммитами и слияниями, не вызывая кластер конфликта слияний ****? - PullRequest
0 голосов
/ 28 сентября 2018

Итак, у меня есть этот макет ...

Master
 \
  \
   Dev Branch
        \
         \
        Feature Branch A

Но, переходя между проектами, я собираюсь добавить ветку с этим макетом ...

Master
 \      Feature Branch B
  \     /
   Dev Branch
        \
         \
        Feature Branch A

Но вотсложные части ... Feature Branch A имеет функции, которые помогут с Feature Branch B ...

Master
 \      Feature Branch B (should start with code that's presently in A)
  \     /             ^
   Dev Branch         |
        \             |
         \            |
        Feature Branch A

И, в довершение, до слияния Branch A или B, Dev Branch получит другиеветви, которые будут объединены в первую очередь, и обе должны объединиться перед повторной синхронизацией, что означает, что B не может оставаться в основе от A ...

Master
 \      Feature Branch B (should start with code that's presently in A)
  \                      /  ^          /     \
   Dev Branch-------------- | ------- / ------------
   \     \    \             |        /       /
    \     \    \            |       /       /
     \     \  Feature Branch A---- / ------/
      \     \                /    /
       \     \              /    /
        \    Feature Branch 3   /
         \                     /
          Feature Branch Number 4

Так как мне запустить Branch B туда, где находится исходный кодоснован на A, но не привязан к нему, но вместо этого технически все еще основан на Dev, так что другие вещи могут быть объединены в него позже без проблем, где он затем может без проблем вернуться в dev позже?Я имею в виду, что я мог бы просто разветвлять dev, а затем копировать и вставлять код из A, но я ожидаю, что это позже приведет к абсурдным конфликтам слияния, которых я бы предпочел избежать.

1 Ответ

0 голосов
/ 28 сентября 2018

Если есть только определенные функции, которые вам нужны из другой ветви функций, вы всегда можете выбрать их в свою собственную ветку функций.

Или, если «B» нужны всеВ любом случае, вещи из "A", просто перебазируйте их поверх "A" и получите все функции из "A".Регулярно выполняйте ребазинг, чтобы улавливать любые конфликты на ранних этапах, прежде чем они накапливаются.

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

Кроме того, с хорошим редактором или инструментом слияния намного легче исправить конфликты слияния.Вы получаете трехпанельное представление о том, откуда исходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...