Закрытие нескольких проблем в Github с сообщением о фиксации

Я знаю, что вы можете закрыть проблемы, помещая closes #1 или fixes #1 в сообщение фиксации. Каков наилучший способ закрыть несколько проблем в одном и том же сообщении фиксации?

Кроме того, похоже, что использование fixes, а не closes не создает ссылку из сообщения фиксации на проблему, но закрывает проблему. Что с этим?

Ответ 1

Closes #1, closes #2, closes #3; rest of commit message.

Предложения closes могут быть в любом месте сообщения, а fixes является допустимым синонимом:

This fixes a memory leak in foo() that closes #4,
also fixes #5 which is a duplicate.

Следующие используются для работы, но в настоящее время встречаются только ссылки # 2 и # 3.

Closes #1, #2, #3

Ответ 2

Ответ и комментарий к этому вопросу упоминаются в следующем формате:

Закрывает # 1, закрывает # 2, закрывает # 3; Фактическое сообщение фиксации

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

Возможно, это только вопрос моих личных предпочтений, и в конечном итоге они будут избиты людьми, используемыми для сжатия сообщений фиксации, которые загромождают Git сводки истории, но я бы скорее предпочел комментировать сообщения с помощью формат:

Сводка сделанных изменений.

Исправлены следующие ошибки:
* Измененный загрузчик ошибок, исправления # 1
* Возвращен указатель нестатистики, исправления № 2
* Применяет новую графику к элементам gui, закрывает # 3

Он попросил наилучший способ закрыть несколько проблем.

Также обратите внимание, что если вы нажмете commit с сообщением на любую другую ветку, чем текущая ветка по умолчанию вашего репозитория, на вопросы будут ссылаться только ссылки. Нажатие фиксации на основную ветку закроет проблемы. См.: Ссылка на номер проблемы GitHub не работает?

Ответ 3

Обратите внимание, что поскольку январь 2013 г., "Проблемы закрытия с помощью сообщений об ошибках" изменились:

Теперь, когда вы введете "Fixes #33" в сообщении фиксации, проблема 33 будет закрыта только после того, как коммит будет объединен в вашу ветку по умолчанию (обычно master).

Это супер полезно, потому что это означает, что проблема open/closed status будет отображаться в вашей ветке по умолчанию.
Если ошибка не исправлена ​​в ветке по умолчанию, проблема останется открытой.
После того, как фиксация с исправлением будет объединена с вашей ветвью по умолчанию, проблема будет автоматически закрыта.

Вы можете использовать любое из этих ключевых слов, чтобы закрыть проблему с помощью сообщения фиксации:

close, closes, closed, fixes, fixed

Как проиллюстрировано вопросом "Закрытие проблемы GitHub в то время как на другой ветке, это вызывает некоторую путаницу вначале.

Ответ 4

"Закрытие проблем с помощью ключевых слов" - это документ из GitHub, в котором описывается, как закрывать проблемы, теги и как закрывать несколько проблем.

Чтобы ответить на ваши вопросы, ответ от GitHub:

Closing multiple issues

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

Например, это закрывает # 34, закрывает # 23 и закрывает example_user/example_repo # 42 закроет проблемы # 34 и # 23 в тот же репозиторий, и выпуск № 42 в "example_user/example_repo" репозиторий.