Сообщения Better Commit
Один из самых ценных инструментов для поиска работы разработчика - это ваш профиль на Github. Это отличный способ продемонстрировать свою работу, частоту написания кода и общий мыслительный процесс при создании проектов. Что касается последнего пункта, то написание четких сообщений о фиксации - один из лучших способов продемонстрировать логическое, структурированное мышление, когда дело доходит до разработки программного обеспечения.
По словам нескольких инженеров, с которыми я разговаривал, первое, на что обращает внимание потенциальный инженер-работодатель, - это ваши сообщения о коммитах. Коммуникация - такой важный компонент процесса разработки программного обеспечения, и неразборчивые или расплывчатые сообщения о фиксации могут значительно замедлить процесс. Как будущий разработчик, ваш менеджер будет проверять ваши сообщения о фиксации и запросы на вытягивание перед объединением вашей функциональной ветки в master. Расплывчатые сообщения о фиксации приводят к потере времени, поскольку ваш менеджер сначала пытается понять, что вы делаете в своем коде, а не проверяет его на предмет стиля, удобочитаемости, производительности и т. Д.
Thoughtbot опубликовал в блоге несколько замечательных сообщений о том, как лучше писать сообщения о коммитах. Отличный способ для начинающих разработчиков - реализовать шаблон сообщения фиксации через .gitmessage
.
Вам нужно начать с перехода к корневой папке на вашем компьютере, которая, если вы используете Mac, названа в честь имени пользователя, под которым вы вошли в систему. Кроме того, обычно это первая папка, в которой вы попадаете при открытии Терминала.
Попав в корневую папку, вы захотите отредактировать свой .gitconfig
файл, чтобы он открывал ваш шаблон сообщения фиксации при каждом запуске git commit
. Также важно отметить, что эта новообретенная дисциплина с сообщениями фиксации означает редко (если вообще когда-либо) использование флага -m
и запись сообщений фиксации в терминале, то есть git commit -m "my test message"
. Вместо этого, всякий раз, когда вы запускаете git commit
, он открывает текстовый редактор, в котором вы можете составить сообщение фиксации, используя формат, установленный в .gitmessage
.
Итак, давайте отредактируем ваш .gitconfig
файл для поддержки нашего нового шаблона. По умолчанию файл обычно скрыт и может находиться в скрытом .git
каталоге в зависимости от настроек Git на вашем компьютере. Найдя файл и открыв его, вам нужно добавить в файл следующие строки:
[commit] template = ~/.gitmessage
Эта строка в основном указывает Git искать .gitmessage
файл в корневой папке всякий раз, когда вы собираетесь совершить фиксацию. Следующим шагом является создание файла .gitmessage
и добавление содержимого вашего шаблона. Вы можете быстро создать файл, выполнив следующую команду Терминала в корневом каталоге:
touch .gitmessage
После того, как файл был создан, откройте его в любом текстовом редакторе и добавьте любую структуру, наиболее подходящую для вашей команды, при этом предоставив любым рецензентам кода достаточно информации, чтобы быстро выполнить свою работу. В общем, вам нужно ответить на следующие три вопроса:
- Почему это изменение необходимо?
- Как это решить проблему?
- Какие побочные эффекты есть у этого изменения?
Опять же, у Thoughtbot есть отличные ресурсы, которые более подробно описывают эту логику. Я включу их в конце статьи. Пытаясь ответить на предыдущие вопросы, я включил следующую структуру в свои сообщения о фиксации:
# Title: # Link to User Story # Brief description # Bullet point description # Answer why the change is necessary # How I address the issue # What side effects the change has # 50-character subject line # 72-character wrapped longer description.
Я добавил несколько комментариев, которые напоминают мне о передовых методах работы. Каждый раз, когда я запускаю git commit
, появляется это сообщение, прежде чем я могу отправить свои изменения. Вот реальный пример сообщения о фиксации, которое я написал недавно при создании своего сайта-портфолио:
WIP: Started Building User Component https://trello.com/c/D3uMPuu2/2-create-user-component I started work on the user component, but I need to finish a few more things before I can merge the branch. I added an avatar, a short description, and created the divs that comprise the page layout. I also deleted a bunch of files related to Le Wagon's default template. * configured materialize gem * removed Le Wagon navbar * added partials corresponding to future components (projects, cv, user) * removed Le Wagon default images * added personal avatar * created divs to layout page content * placed divs within responsive grid * positioned avatar within user component * positioned description content within user component * removed bootstrap sass variables
В конце концов, все коммиты внутри функциональной ветки будут объединены, чтобы сформировать ваше сообщение запроса на вытягивание. В результате ваш маркированный список изменений может значительно увеличиться после того, как функция будет полностью завершена, но я считаю, что это хорошо. Я считаю, что любая четко представленная информация, которая помогает рецензентам кода или работодателям лучше понять мою работу, по сути, хорошая вещь.