Ссылка на номер проблемы на GitHub в сообщении фиксации
Возможно ли как-то автоматически иметь ссылку на номер выпуска GitHub в git commit
сообщение?
8 ответов
Просто включите #xxx
в сообщении о коммите, чтобы указать на проблему, не закрывая ее.
В новых выпусках GitHub 2.0 вы можете использовать эти синонимы для ссылки на проблему и ее закрытия (в сообщении о коммите):
fix #xxx
fixes #xxx
fixed #xxx
close #xxx
closes #xxx
closed #xxx
resolve #xxx
resolves #xxx
resolved #xxx
Вы также можете заменить #xxx
с gh-xxx
,
Ссылка и закрытие проблем через репозитории также работает:
fixes user/repo#xxx
Проверьте документацию, доступную в их разделе справки.
Если вы хотите сослаться на проблему GitHub и закрыть проблему, вы можете указать в своем сообщении Git commit следующие строки:
Closes #1.
Closes GH-1.
Closes gh-1.
(Любой из трех будет работать.) Обратите внимание, что это будет связано с проблемой, а также закроет ее. Вы можете узнать больше в этом сообщении в блоге (начните смотреть встроенное видео в 1:40).
Я не уверен, что подобный синтаксис будет просто ссылаться на проблему, не закрывая ее.
github добавляет ссылку на коммит, если он содержит #issuenbr (обнаружил это случайно).
Вы также можете сделать перекрестные ссылки на репозитории:
githubuser/repository#xxx
ххх номер выпуска
Им приятно написать о новых выпусках 2.0 в своем блоге https://github.com/blog/831-issues-2-0-the-next-generation
синонимы включают
- исправления #xxx
- фиксированный #xxx
- исправить #xxx
- закрывается #xxx
- закрыть #xxx
- закрыто #xxx
использование любого из ключевых слов в сообщении о коммите сделает ваш коммит либо упомянутым, либо закроет проблему.
Чтобы связать номер проблемы с вашим сообщением о коммите, вы должны добавить: #issue_number
в вашем сообщении git commit.
Пример сообщения коммита от Udacity Руководство по стилю сообщения Git Commit
feat: Summarize changes in around 50 characters or less
More detailed explanatory text, if necessary. Wrap it to about 72
characters or so. In some contexts, the first line is treated as the
subject of the commit and the rest of the text as the body. The
blank line separating the summary from the body is critical (unless
you omit the body entirely); various tools like `log`, `shortlog`
and `rebase` can get confused if you run the two together.
Explain the problem that this commit is solving. Focus on why you
are making this change as opposed to how (the code explains that).
Are there side effects or other unintuitive consequenses of this
change? Here's the place to explain them.
Further paragraphs come after blank lines.
- Bullet points are okay, too
- Typically a hyphen or asterisk is used for the bullet, preceded
by a single space, with blank lines in between, but conventions
vary here
If you use an issue tracker, put references to them at the bottom,
like this:
Resolves: #123
See also: #456, #789
Вы также можете ссылаться на репозитории:
githubuser/repository#issue_number
Одним из моих первых проектов в качестве программиста был гем под названием stagecoach, который (помимо прочего) позволял автоматически добавлять номер проблемы github к каждому сообщению коммита на ветке, что является частью вопроса, на который действительно не был дан ответ,
По сути, при создании ветки вы будете использовать пользовательскую команду (что-то вроде stagecoach -b <branch_name> -g <issue_number>
), и номер выпуска будет затем назначен этой ветви в файле yml. Затем был обработчик фиксации, который автоматически добавлял номер проблемы к сообщению фиксации.
Я бы не рекомендовал его для производственного использования, так как в то время я программировал только несколько месяцев и больше не поддерживаю его, но он может быть кому-то интересен.
В дополнение к другим ответам: Если вы даже не хотите писать сообщение о фиксации с номером проблемы и случайно используете Eclipse для разработки, вы можете установить плагины eGit и Mylyn, а также разъем GitHub для Mylyn. Затем Eclipse может автоматически отслеживать, над какой проблемой вы работаете, и автоматически заполнять сообщение о коммите, включая номер проблемы, как показано во всех других ответах.
Для получения дополнительной информации об этой установке см. http://wiki.eclipse.org/EGit/GitHub/UserGuide