Рекомендуемый git рабочий процесс - PullRequest
0 голосов
/ 05 августа 2020

Я хотел бы сделать запрос на вытягивание для каждой функции. Но у меня проблема с рабочим процессом.

Например, я работал над функцией в ветке feature1, сделал запрос на перенос, и пока я жду подтверждения этого запроса на перенос, я хочу начать работу по другой функции.

В feature2 Я хотел бы получить код из feature1, как лучше всего подходит для этого?

Раньше я делал другую ветку из feature1 , но затем, когда я делаю запрос на перенос от feature2 до master, у меня есть все изменения с feature1 и feature2.

Как люди это делают?

Ответы [ 4 ]

1 голос
/ 05 августа 2020

Я думаю, что лучше всего этого не делать.

Пока существует какой-то другой featureX, который не требует кода из feature1, я бы начал с featureX вместо feature2.

Во время проверки кода могут быть запросы на изменение, которые влияют на код, который вам нужен для feature2.

Если ожидание объединения feature1 нереально c , (проверка займет слишком много времени, и других функций для начала нет), тогда feature2 можно выделить из feature1. Однако, если feature1 сдавлен в master, вам нужно будет выполнить некоторую перебазировку или снова выполнить ветвление из мастера и выбрать работу c в feature2 из исходной ветки feature2 в новую feature2 филиал.

1 голос
/ 05 августа 2020

Просто чтобы добавить немного больше к тому, что уже было сказано: feature2 может быть поверх feature1, единственное, что вы должны быть осторожны при перемещении ветки, чтобы не автоматически включал вещи из feature1 ..... это так, потому что могут быть разные ситуации, которые могут сломать его, если вы не будете осторожны. Например: Feature1 нужно объединить ... но сжать. Тогда ревизии, которые включены в feature2, больше не действительны .... то же самое, если feature1 перебазирован ... или полностью переработан .... во всех этих случаях вам нужно быть осторожным, чтобы not включить изменения из feature1 при перемещении feature2.

Самый простой способ справиться с этим - перебазировать feature2, но только то, что действительно составляет:

git rebase --onto anywhere feature2~4 feature2

Это предполагает feature2 состоит из 4-х прямых ревизий. В общем, все нормально ... только осторожно.

1 голос
/ 05 августа 2020

На самом деле, переход от feature1 к началу feature2, вероятно, является лучшей идеей. Поэтому в идеале вы должны обеспечить, чтобы feature1 объединялось первым, прежде чем feature2. Если вы категорически не можете обеспечить соблюдение этого порядка, это может означать, что вам следовало начать работу над feature2 до feature1, то есть вам следовало поменять ветки.

0 голосов
/ 05 августа 2020

В feature2 Я хотел бы получить код из feature1

Не можете. «Код от feature1» - это тот самый код, по которому вы ждете утверждения! Если вам разрешено вносить неутвержденные изменения в другую новую ветку, то в чем смысл PR и всего процесса утверждения? С таким же успехом вы можете работать в одиночку и вообще пропустить PR. PR преждевременно; все это должно было быть одной длинной веткой.

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