15202 Что Такое JSON?

Как Использовать Git Hooks (Хуки)?


 |  ❤ 56  |  ☻ 0
Категория: Обучение
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(0 голосов, в среднем: 0 из 5)

Разработка качественного приложения — сложный процесс. Для этого мы используем инструменты, которые дополняют процесс написания кода. Одним из таких инструментов является Git. Чтобы сократить время развёртывания, разработчикам и системным администраторам нужна автоматизация. Git — один из самых популярных инструментов для этой цели. В этом руководстве мы покажем вам, как использовать Git Hooks, или хуки Git, чтобы повысить эффективность вашего проекта VPS!

Git hooks — внутренняя утилита, которая улучшает использование Git. Давайте узнаем, как именно они работают!

Что Такое Git?

Перед тем, как перейти к хукам, давайте быстро разберёмся в том, что такое Git.

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

Git очень популярен среди разработчиков. Его используют для большинства проектов с открытым исходным кодом.

Что Такое Git Hooks (Хуки)? 

С Git мы можем создавать ветки разработки, регистрировать изменения и полностью контролировать версии. Однако этот процесс можно автоматизировать. Автоматизация Git работает на уровне программ и развёртывания. Вот для чего нужны hooks.

Git Hooks — скрипты оболочки, которые запускаются автоматически до или после того, как Git выполняет важную команду, такую как Commit или Push. Чтобы хук работал, необходимо дать системе Unix разрешения на выполнение. Используя эти скрипты, мы можем автоматизировать определённые вещи.

Git создаёт примеры Git hooks, как только запускается локальный репозиторий. Следует отметить, что такие сайты, как GitHub или GitLab, не разрешают использовать их в первую очередь. Вот почему они в основном используются в местных или частных случаях.

Читайте также:  Что Такое React и Как Он Работает на Самом Деле?

Как Использовать Git Hooks

Hooks (хуки) хранятся в папке .git/hooks/ каждого клонированного проекта или в новосозданном локальном репозитории. Там мы найдём серию примеров хуков, которые являются хорошей отправной точкой.

Чтобы активировать хук, просто создайте файл и сохраните его в папке .git/hooks/. Тем не менее, Git предопределяет имя файла. Вот некоторые из хуков, которые мы можем использовать:

Git Hook Команда Git  Описание
applypatch-msg.sample git am Когда сообщение патча изменено
commit-msg.sample git commit Чтобы включить сообщения о совершении действия (push)
fsmonitor-watchman.sample launch watchman Интеграция Watchman (служба просмотра файлов)
post-update.sample git push Обновление данных после отправки
pre-applypatch.sample git am Перед применением патча
pre-commit.sample git commit Перед публикацией (commit)
prepare-commit-msg.sample git commit Когда сообщение публикации (commit) установлено
pre-push.sample git push Прежде чем совершить действие (push)
pre-rebase.sample git rebase Прежде чем сделать передачу (pass) или слияние (merge)
pre-receive.sample git push Когда мы совершаем действие (push) и получаем данные из удалённого хранилища
update.sample git push Обновление удалённых данных одним действием (push).

Как мы видим, каждый хук выполняет команду в Git. Это стоит учитывать в случаях, когда его удобно применить.

Примеры Git Hook-ов

Использование Hooks очень распространено, но для того, чтобы раскрыть их потенциал полностью, необходимо знание Bash и других языков, таких как Python или Ruby. Вот несколько основных примеров:

Отображение Информации о Коммите

Этот пример показывает информацию о коммите. Создайте файл с именем prepare-commit-msg в папке .git/hooks/ нашего репозитория. Затем пропишите следующий скрипт:

!/bin/sh SOB=$(git config github.user)
grep -qs "^$SOB" "$1" || echo ". Cambio por @$SOB" >> "$1"

Затем сохраните его. И установите права на выполнение файла.

:~$ chmod +x prepare-commit-msg

С помощью этого простого хука, когда совершается коммит, мы немедленно получаем соответствующую информацию о нём.

Читайте также:  Видеоролик "Создание рекламного кода"

Генерация Документации при Внесении Изменений

Этот pre-push hook позволяет генерировать документацию нашего кода, если у нас есть генератор. Каждый раз, когда мы вносим изменения, документация будет формироваться автоматически.

Создайте pre-push в той же папке, что и раньше, и добавьте скрипт:

!/bin/bash doxygen Doxyfile
git add docs/
git commit -m "Update documentation ($(date +%F@%R))"

Сохраните файл и, наконец, установите разрешение на выполнение.

:~$ chmod +x pre-push

Поиск и Исправление Конечных Пробелов в Коммитах

Этот pre-commit Git hook довольно просто реализовать. Создайте файл с именем pre-commit и добавьте следующее:

!/bin/bash -l .git/hooks/pre-commit-master-no-no
if [[ $? == 1 ]]
then
exit 1
fi .git/hooks/pre-commit-debugger
.git/hooks/pre-commit-trailing-spaces
.git/hooks/pre-commit-images
.git/hooks/pre-commit-pair

Теперь конечные пробелы (trailing whitespace) будут найдены и исправлены во всех коммитах.

Выводы

Git является жизненно важным инструментом для современных разработчиков. Git Hooks — отличный способ оптимизировать этот инструмент! Сегодня мы рассмотрели фундаментальную концепцию автоматизации процессов Git с помощью хуков (hooks).

Создание скрипта для Git Hooks может быть сложным, если у вас нет прочной базы — знаний языка программирования, например bash.

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


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

три + девятнадцать =

наверх