2016-06-02 2 views
0

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

Обычно я включаю что-то вроде «исправляет ошибку, введенную в commit XXXXXXXX» в сообщении фиксации.

Но мне было интересно, существует ли обычный формат для такого рода вещей, который может быть распознан сторонними инструментами git, поскольку AFAIK git не поддерживает его изначально.

Edit:

Ближайшее что я мог бы Google до сих пор Геррит с его "Change-Id".

+0

В нашей команде у нас есть некоторые ключевые значения в сообщении журнала фиксации, которое отформатировано. Любые две коммиты, которые исправляют ту же ошибку, всегда содержат одни и те же значения ключа в своем собственном сообщении журнала фиксации. Неизбежно возникнут некоторые ошибки. Мы используем 'git notes' для добавления дополнительных примечаний. У нас также есть трекер-система для отслеживания всех ошибок/функций и связанной с ними информации о коммитах. – ElpieKay

ответ

1

См. Фиксации их SHA1. Обычно инструменты (например, Github, Bitbucket, Gitlab) анализируют его и ссылаются на соответствующую фиксацию.

Подсказка: обычно вам не нужно включать весь хэш; первые 6 символов должны быть достаточными.

Пример фиксации - here.

P.S. Вы также можете посмотреть Git Style Guide.

+0

Вы должны включить весь хэш. Первые 6 символов должны быть достаточными, пока они этого не сделают, и когда их больше не будет, слишком поздно исправить сообщения фиксации. – hvd

+0

@hvd Это зависит от размера проекта. Вероятность столкновения относительно низкая для небольшого количества коммитов. – Agis

+0

Да, я это знаю.Я хочу сказать, что если вы соглашаетесь на 6 символов, а количество коммитов все еще невелико, вы сталкиваетесь с проблемами, когда количество коммитов (или других объектов) увеличивается позже. – hvd

1

Решение, которое мы используем в нашей компании выглядит следующим образом:

Мы не хранить отношения между задачами/совершает в системе управления версиями, но хранить его в задаче трекера.

Обычно мы отслеживаем каждую функцию/ошибку в трекере задач в качестве билета. Каждый билет имеет имя - префикс и номер (например: ProjectName-56). Когда вы начнете работать над этим билетом, вы создадите отдельную ветку с именем, аналогичным типу.

Кроме того, каждое сообщение фиксации в этой ветви начинается с имени билета (оно помогает в будущем, когда вы используете git blame, чтобы понять, какой билет относится к этой строке кода).

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

Итак, в вашем случае вы можете создать ошибку в трекере задач и написать комментарий о том, что ошибка появилась после того, как имя ProjectName-AnotherTaskNumber было нажато.

Мы используем JIRA в качестве трекера задач и бит-бит, так как репозиторий и бит-бит автоматически создают ссылки для каждого текста ProjectName-xx (из сообщения фиксации или ветки) для билета на JIRA и наоборот. Я думаю, что github имеет такую ​​же интеграцию для github-трекера.

Смежные вопросы