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

112

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

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

Rayne
источник

Ответы:

160

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

Якоб Борг
источник
1
У меня это не работает, закрывает только первый элемент в списке, а не остальные. Изменился ли синтаксис после этого поста? Я погуглил, но, похоже, здесь не так много помощи.
Марк Белл
1
Согласовано. Исправления №1, №2 работают для ссылки на оба ... но закрывают только №1.
Уолдо
@waldo Я думаю, что это сработало, когда я это написал - тогда как насчет сегодняшнего дня Closes #1, closes #2, closes #3? Многословно и избыточно, да, но, может быть, это работает?
Якоб Борг
Ага, «Исправления №1 - Исправления №2 - фактическое сообщение фиксации». работает и имеет некоторый смысл (если подробный) - то есть я четко закрываю и ссылаюсь (не закрывая) на несколько разных вопросов из одного сообщения фиксации.
Уолдо
2
Есть идеи, почему они изменили поведение Closes #1, #2, #3? Я считаю смешным писать 10 closesплюс номера выпусков, которые должны быть закрыты, вместо одного закрытия и всех чисел после этого. : - /
rbaleksandar 07
38

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

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

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

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

Краткое изложение сделанного изменения.

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

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

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

JNissi
источник
Просто попробовал по-своему. Скажу честно, мне это очень нравится!
Билли Кувер
9

Обратите внимание, что с января 2013 г. «Закрытие проблем с помощью сообщений о фиксации» изменилось:

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

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

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

close, closes, closed, fixes, fixed

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

VonC
источник
1

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

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

Закрытие нескольких проблем

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

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

Влад Безден
источник