Рекомендации по созданию коммитов

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

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

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

Последняя вещь, которую стоит иметь в виду, это сообщение коммита. Написание качественных сообщений к коммитам должно войти в привычку, это сильно упростит взаимодействие с использованием Git'а. По общему правилу, ваше сообщение должно начинаться с одной строки не длиннее 50 символов, лаконично описывающей набор изменений. Затем следует пустая строка, за которой располагается более подробное описание изменений. В документации Git'а содержится требование, чтобы детальное объяснение включало в себя причины изменения и описывало изменение прежнего поведения. Это хорошая рекомендация, которой стоит последовать. Другая хорошая идея это использование повелительного наклонения глаголов в настоящем времени. Другими словами, пишите команды. Вместо "Я добавил тесты для ..." или "Добавление тестов для ..." используйте "Добавить тесты для ...".

Вот шаблон, изначально написанный Тимом Поупом (Tim Pope):

Краткое (до 50 символов) описание изменений 

Более детальное описание, если это необходимо. Перенос на 72 символе 
или около того. В некоторых контекстах первая строка рассматривается 
как тема письма, а остальное как тело. Пустая строка, отделяющая сводку 
от тела, важна (кроме того случая, когда вы опустили всё тело целиком);
если вы напишите заголовок и тело вместе, инструменты, такие как rebase,
могут воспринять это неправильно. 

Дальнейшие параграфы идут после пустых строк 

- Также можно применять маркеры списков 

- обычно в качестве маркера списка используется дефис или звёздочка 
  с одним пробелом перед ним и пустыми строками между пунктами, 
  хотя соглашения в этом аспекте могут разниться 

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