Как мне разделить большой PR на несколько маленьких PR? в основном откат видеопленки в режиме замедленной съемки

#git #cucumber

#git #cucumber

Вопрос:

Я поднял большой PR git, скажем, с 45 тестовыми историями (мы используем Java Cucumber BDD) в одной ветке. Допустим, эти 45 историй принадлежат к 3 категориям, таким как пользователи, устройство, загрузка и т.д., Точно так же, как в каждой категории реализовано 15 историй. Каждая реализация тестовой истории выполняется в 3 файлах,

  1. файл с функциями
  2. Файл BDD steps,
  3. Файл реализации шага BDD. Каждая категория (тестовых примеров) будет иметь указанные выше отдельно 3 файла реализации.

Наш менеджер хотел, чтобы этот большой PR с 45 историями в одной ветке был разделен на в идеале 45 PR, или, по моей идее, поднять не менее 15 PR, каждый PR, содержащий реализацию 3 историй каждый.

Итак, имея это в виду, теперь я начинаю с нетронутой ветки ‘master’, запускаю новую ветку -CA1 (имеется в виду ветка разработки для CategoryA, ветка 1).

Затем, следуя тем же строкам, у меня будет

  • ветви -CA2, CA3, CA4, CA5 Для категории A,

  • ветви -CB1, CB2, CB3, CB4, CB5 Для категории B,

  • ветви -CC1, CC2, CC3, CC4, CB5 Для категории C

Каждая из этих ветвей начнется с извлечения исходной ветви ‘master’, и CA1, CA2, CA3, CA4, CA5 изменят (добавят одну реализацию истории за другой) те же 3 файла реализации, которые упоминались выше.

Аналогично, CB1, CB2, CB3, CB4, CB5 изменят (добавят одну реализацию сюжета за другой) те же 3 файла реализации (имена разные, соответствующие категории B), упомянутые выше.

Аналогично, CC1, CC2, CC3, CC4, CC5 изменят (добавят одну реализацию сюжета за другой) те же 3 файла реализации (имена разные, соответствующие категории C), упомянутые выше.

Теперь возникнет ли проблема после создания 15 меньших PR с 3 историями в каждой вместо большого блоба из 1 PR с 45 историями. Как я об этом думаю??

Когда 1-й PR категории A, имеющий первые 3 реализации сюжета ….. до 15-го PR категории C, имеющего последнюю из 43,44,45-й реализаций тестового сюжета.

Когда эти PR пытались объединить последовательно после некоторых комментариев к обзору и их исправления для каждого PR, насколько хорошо закончится последующее объединение PR? Есть ли у них бесчисленное количество конфликтов, поскольку каждый PR построен поверх нетронутой основной ветви, даже если каждая реализация истории атомарно и индивидуально изменяет 3 файла реализации последовательно?

Есть ли лучший подход? Это связано с тем, что наш парень-рецензент по связям с общественностью жалуется на то, что не может просматривать большой пакет из 45 историй одновременно в течение длительного времени, например, дня, вместо просмотра небольшого PR (с 3 историями), который может занять час или меньше.

Комментарии:

1. Зависят ли истории друг от друга / изменяют ли одни и те же файлы? Если нет, вы могли бы выполнить плавный сброс до того момента, когда вы ответвлялись от master, и создать несколько разных коммитов (в разных ветвях), каждый из которых объединяет одну или несколько историй. В следующий раз: попробуйте создать PR меньшего размера и просмотрите и объедините их по отдельности. Вы сможете исправить конфликты слияния для материалов, над которыми вы только что работали (в любом случае, проще, чем для этих больших PR). Удачи!

2. Да, в каждой категории они выполняют и изменяют один и тот же набор из 3 файлов, о котором я упоминал. Если я вернусь к исходной точке (нетронутой), с которой я начал, я выборочно скопирую и вставлю код для каждого небольшого PR из моей резервной копии файлов кода, таким образом, перейду к повышению всех PR (всего 45) по 3 категориям, мне пришлось бы начинать каждый PR с начальной точки (нетронутое состояние master). Правильно? Затем, когда каждый маленький PR (от 1 до 45) будет просмотрен и в каждом PR будут внесены какие-либо исправления, не приведут ли они к множеству конфликтов, которые мне нужно всегда переносить на все PR?

3. Если все они изменяют одни и те же файлы, вам фактически придется переделывать их, поскольку нет простого способа повторно использовать их как разные наборы файлов для каждого PR. Следующее предложение: вы делали отдельные коммиты для каждой истории? если да, предложите просматривать их для каждого коммита? (при необходимости вы можете объединить несколько коммитов для одной и той же истории вместе).