2016-05-19 9 views
2

Скажет, у меня есть вилка репо, и мой репо имеет три ветви:Git запросов тянуть с участием суботраслевого филиала

  • мастер
  • branch_1
  • branch_1_a

branch_1 является off upstream/master, но branch_1_a отключен от branch_1 (т. е. он был создан через git checkout -b branch_1_a branch_1)

Как запросы на тягу работают в этом сценарии, если я хочу создать запрос на перенос для изменений в branch_1, а также запрос на перенос для изменений в branch_1_a. Должен ли я сначала создать PR для объединения branch_1_a в branch_1? Или я создаю PR для branch_1, разделили ли это на upstream/master, а затем создали PR для branch_1_a? Или я могу иметь PR для каждого одновременно, чтобы войти в мастера (хотя я не могу окунуться в голову, как это будет работать)?

ответ

1

Прежде всего, git не знает никаких «запросов на тяну» (это концепция услуг, таких как gitlab, github, bitbucket, ...). вместо git знает слияния.

a запрос на тягу - это просто способ сообщить ответственному лицу, что вы хотите git merge ветку с другой.

second, a branch действительно просто ярлык, который вы даете набору патчей.

сейчас, чтобы ответить на ваш вопрос: да, это вполне возможно: merge ветви и подвалы.

в простейшем случае, branch_1_a содержит полноту branch_1 (то есть: все коммиты, которые находятся в branch_1 также в branch_1_a).

если вы первый слияниеbranch_1_a, то объединение branch_1 станет не оп (так как ваш master уже сейчас содержит branch_1).

если вы первый слияниеbranch_1, то слияние branch_1_a будет просто добавить дополнительные патчи, которые делают branch_1 отличные от branch_1_a.

+0

Хотя это правда, это строго git-точка зрения. Слияние изменений не обязательно является проблемой, но при этом требуется, чтобы запрос на перенос был чистым _can_ be.Если вы завершите запрос pull_1_a по отношению к branch_1, то запрос pull_1 будет содержать обновление, которое включает все изменения branch_1_a, которые мне кажутся некорректными, потому что теперь запрос на pull_1 больше, чем первоначально предполагалось. – Sam

0

Предполагая, что вилка вы имеете в виду существует на некоторых веб-сервис мерзавца, такие как GitHub или BitBucket, вы должны быть в состоянии выполнить слияние branch_1_a в branch_1 в локальном клоне вилки, а затем нажмите branch_1 на пульте дистанционного управления fork repo, после которого вы можете открыть PR для branch_1 против репо, изначально из которого вы были разветвлены.

 Смежные вопросы

  • Нет связанных вопросов^_^