Переименование ветки при запросе на вытягивание


на Github вы можете делать запросы на вытягивание, чтобы добавить функциональность в проект. Каждый вклад должен быть на ветке, которая, если запрос будет принят, будет объединена в главную ветвь (или аналогичную) проекта.

теперь я подал запрос на вытягивание на Github, и мои взносы находятся в ветке под названием patch-1. Я могу изменить имя ветви локально с помощью

git branch -m patch-1 newname

и в принципе я также могу переименовать его на моем разветвленном РЕПО на Github by следуя инструкции, найденной в этом ответе. Это делается на практике путем удаления старой ветви,patch-1 в моем случае, и повторите его с другим именем newname.

можно ли переименовать ветку patch-1 на моем разветвленном репозитории на Github, когда он представляет собой запрос pull? Или это вызывает проблемы с управлением запросами на вытягивание?

есть ли способ переименовать ветвь в разветвленном репозитории на Github, когда эта ветвь является запросом pull?

2 56

2 ответа:

"переименование" удаленной ветви в git, как указано в ссылке, которую вы предоставили, на самом деле просто удаляет ветку, а затем нажимает новую с тем же хэшем фиксации, но с новым именем. Если у вас есть запрос на вытягивание, открытый для патча ветви-1, при удалении этой ветви запрос на вытягивание будет закрыт.

итак, нет, вы не можете переименовать ветку с открытым запросом на вытягивание без удаления ветки и удаления запроса на вытягивание. Тем не менее, ничто не мешает вам сделать это, нажатие новой ветви с новым именем и создание нового запроса на вытягивание.

короткий ответ:

нет

альтернативный подход:

  1. открыть новый PR с новой (переименованной) веткой
  2. закрыть старый PR, ссылаясь на новый (например, закрыт в пользу #new_pr_id)
  3. изменить описание нового PR (например, заменяет #old_pr_id)
  4. (необязательно) прокомментируйте соответствующую дискуссию по старому PR

Примечание:

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