2010-11-08 3 views

ответ

12

Это зависит, конечно, но очень распространенный формат что-то вроде этого (взятую из http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html, что я думаю, что суммы, которые она действительно хорошо):

Short (50 chars or less) summary of changes 

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 an email 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); tools like rebase can get confused if you run the 
two together. 

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 

Единственное, что он не решает что-то Я принял для себя, а именно, используя короткие теги в начале строки firstt, чтобы определить, что это за фиксация. Это могут быть теги, такие как [fix] для исправления, [new] для новой функции или [dev] для фиксации, которая влияет только на внутренности. С такой политикой легко автогенерировать журнал изменений из коммитов.

Edit: Вот еще хорошее резюме, с этого сайта даже: In git, what are some good conventions to format multiple comments to a single commit

+1

Наиболее распространенный префикс для первой строки - это часть проекта, к которому применяется фиксация. Это может быть имя файла, модуль, что вам подходит. В противном случае, я думаю, вы в значительной степени охватили обычных подозреваемых! – Cascabel

+0

Я стараюсь не загромождать свое резюме любыми метаданными (кроме указателей ошибок). Хорошо написанные коммиты с хорошими резюме - хорошее начало. вы всегда можете добавлять теги в нижней части сводки, чтобы решить, подходит ли что-то для заметок выпуска. Затем я помещал их в фактический тег и [генерировал свой журнал изменений] (http://dustin.github.com/2009/01/17/changelog.html) из тегов. :) – Dustin

1

Я бы не рекомендовал большие сообщения. Если вы не можете объяснить в одном предложении, что вы делаете, ваша фиксация включает слишком много изменений. Используйте git rebase -i и разделите свою фиксацию, если вы уже совершили. Если вы еще не совершили изменений, используйте git add -p для создания небольших деталей, а затем совершите как мелкие коммиты.

Гранулированная история изменений, подобная этой, поможет последующим слияниям и перестановкам. Это также поможет вам связать свой трекер. Если у вас есть два или более адреса, которые будут адресованы, будет сложнее расшифровать, какой билет каждый изменяет в адресованной фиксации.

+1

Нетривиальные изменения часто требуют существенного объяснения, особенно если вы работаете над большим проектом, который должен сохранять семантику внешнего и/или внутреннего документа спецификации. Мне пришлось написать четыре сообщения о фиксации абзаца, чтобы изменить один макрос в источнике MPICH, потому что мне нужно было объяснить стандартное поведение MPI и внутреннюю семантику макроса, чтобы оправдать это изменение. Если бы я этого не сделал, какой-то будущий разработчик потратил бы чрезмерное количество времени, чтобы вновь открыть эту информацию. Я бы спустил, если бы мог ... – Jeff

+0

Спасибо, @Jeff. Программное обеспечение - это такой огромный мир, что это действительно не правила, а рекомендации. Иногда их просто невозможно применить. –

+0

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