Какая польза от коммитов? - PullRequest
5 голосов
/ 11 мая 2010

Я изо всех сил пытался задать этот вопрос, но вот он. Я использую систему контроля версий уже несколько лет для нескольких проектов, использующих разные системы (svn, hg, git), и я узнал, как улучшить свои сообщения, следуя инструкциям и т. Д. Но насколько я помню, я никогда не смотрел на них потом.

Итак ... как вы получаете прибыль от ваших собственных сообщений коммитов? Когда мне нужно вернуться, потому что я что-то разбил и мне нужно начать все сначала, я обычно просто возвращаюсь к последнему «узлу» (где я начал или слил ветку). Пишу ли я эти сообщения только для людей, которые следят за проектом и которым интересно, что происходит?

Привет

Ответы [ 6 ]

7 голосов
/ 11 мая 2010

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

Раньше я работал над проектом, в котором сообщения о коммитах были неоценимыми - я неоднократно использовал их, чтобы отследить код, которому уже много лет. В этом проекте наша система отслеживания ошибок также была интегрирована с нашей VCS (ClearCase). Поэтому, когда вы регистрируете изменение, оно фиксирует номер ошибки в комментариях к коммиту. Это было очень полезно, чтобы вы могли точно отследить, что было изменено и почему.

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

Обновление

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

6 голосов
/ 11 мая 2010

«Пришлите мне список вещей, которые вы сделали за последние две недели» - Босс

4 голосов
/ 11 мая 2010

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

3 голосов
/ 11 мая 2010

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

1 голос
/ 11 мая 2010

Какой смысл коммита без примечания, чтобы сказать вам, что это такое? Это все равно что спросить: «Почему у книг есть названия по бокам?» Или, возможно, «Почему у книг есть индексы и номера страниц?». Мне кажется, что журнал контроля версий, в котором не было описания для каждого изменения, был бы не очень полезен.

Причины, по которым вам может понадобиться обратиться к сообщению о фиксации, включают

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

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

1 голос
/ 11 мая 2010

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

...