Закрытие нескольких проблем в 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" репозиторий.