2015-01-09 2 views
10

В основном я использовал Github revert button, чтобы вернуться к предыдущей PR для художественного отделения в master, то я решил объединить ту же функцию ветви, что я вернулась раньше, но я не смог этого сделать. Шаги следующим образом:Как PR и объединить снова после возвращения PR использованием Github Возвратить кнопку

  1. PR сливаться функции филиала в master
  2. Revert PR слияние (master)
  3. пытался создать новый PR сливаться функции ветвь master снова.
  4. Got это сообщение:

Там нет ничего, чтобы сравнить.

Мастер находится в актуальном состоянии со всеми коммитами из Feature-Branch. Попробуйте переключить базу для сравнения.

Любые предложения о том, как я могу объединить особенность ветви снова в master

ответ

23

Просто вернуться к Revert. Таким образом, нажав кнопку возврата, вы создадите новый PR (ваш шаг 2). После того, как это будет объединено, у вас будет возможность отменить это, что создаст новую ветку со всеми вашими изменениями. Затем вы можете потянуть ее, внести в нее изменения (при необходимости) и создать новый PR. Вы потеряете все сообщения фиксации в Github, но все изменения файлов все равно будут. Приятно сослаться на ваш оригинальный филиал и вернуться в новый PR.

Все, что нужно, чтобы избежать сложной перестройки или силы, толкающей мастер.

+0

A) rebase - полезный инструмент, не избегайте его усложнения. B) Возврат возврата имеет оговорки (см. Мой ответ) – theannouncer

0

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

Отказ от возврата может стать грязным, а иногда и непрозрачным.

Кроме того, возврат обратно приведет к тому, что другие ветви с правилом слипания этого кода

Допустим, у вас есть функция x на сервере и объединена с веткой y. то вы решаете, что у мастера не должно быть функции x, объединенной в нее, поскольку она зависит от ветки y. Итак, вы возвращаетесь к мастеру. Когда вы пытаетесь объединить ветвь x, команда git-merge видит исходное слияние и счастливо объявляет, что все хорошо, а ветви уже объединены, опустив эти фиксации для функции x, даже если вы хотели, чтобы они слились с ветвью y.

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

+0

Этот ответ недостаточен во всех, кроме основных случаях, из-за того, что вам нужно будет найти свою ветвь и скопировать все в текстовый редактор, чтобы создать новый , Решение Anthony намного прозрачнее, и единственная беспорядочность заключается в автоматически генерируемых именах github, которые вы можете изменить самостоятельно. – xHocquet

+0

Зачем вам что-то копировать в текстовый редактор?Потяните мастер, переключитесь на свою ветку (имя которой находится в PR, поэтому вам не нужно «находить» что-либо), вытяните ветку, 'git rebase master', force push branch. Готово. – theannouncer

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