Переименование ветки при запросе на вытягивание
на Github вы можете делать запросы на вытягивание, чтобы добавить функциональность в проект. Каждый вклад должен быть на ветке, которая, если запрос будет принят, будет объединена в главную ветвь (или аналогичную) проекта.
теперь я подал запрос на вытягивание на Github, и мои взносы находятся в ветке под названием patch-1
. Я могу изменить имя ветви локально с помощью
git branch -m patch-1 newname
и в принципе я также могу переименовать его на моем разветвленном РЕПО на Github by следуя инструкции, найденной в этом ответе. Это делается на практике путем удаления старой ветви,patch-1
в моем случае, и повторите его с другим именем newname
.
можно ли переименовать ветку patch-1
на моем разветвленном репозитории на Github, когда он представляет собой запрос pull?
Или это вызывает проблемы с управлением запросами на вытягивание?
есть ли способ переименовать ветвь в разветвленном репозитории на Github, когда эта ветвь является запросом pull?
2 ответа:
"переименование" удаленной ветви в git, как указано в ссылке, которую вы предоставили, на самом деле просто удаляет ветку, а затем нажимает новую с тем же хэшем фиксации, но с новым именем. Если у вас есть запрос на вытягивание, открытый для патча ветви-1, при удалении этой ветви запрос на вытягивание будет закрыт.
итак, нет, вы не можете переименовать ветку с открытым запросом на вытягивание без удаления ветки и удаления запроса на вытягивание. Тем не менее, ничто не мешает вам сделать это, нажатие новой ветви с новым именем и создание нового запроса на вытягивание.
короткий ответ:
нет
альтернативный подход:
- открыть новый PR с новой (переименованной) веткой
- закрыть старый PR, ссылаясь на новый (например, закрыт в пользу #new_pr_id)
- изменить описание нового PR (например, заменяет #old_pr_id)
- (необязательно) прокомментируйте соответствующую дискуссию по старому PR
Примечание:
имя удаленной ветви (составляющий PR) необходимо было изменить, потому что система сборки нуждалась в имени филиала, которое заканчивается идентификатором билета. Однако PR был открыт до официального создания билета (из спецификаций) и содержал ценную дискуссию. Описанный подход был единственным способом заставить систему сборки работать, а также не потерять какую-либо информацию (хотя был дополнительный шаг в ее отслеживании).