Как избежать мусора

1656532927 kak izbezhat musora

Йоэль Зельдес

c9BU1hagJ5QgLtOYYeQAeL9iCB2IhjnbBLFw

В процессе разработки каждый разработчик пишет то, что он не намерен делать, и передает на удаленный сервер, например, отлаживает печать. Со всеми нами время от времени случается: мы забываем удалить эти временные вещи, прежде чем делать…

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

  • отладочная печать: print 'xxx reached this line'.
  • переменная, используемая для отладки: xxx_counter = 0.
  • временная функция: def xxx_print_debug_info():.
  • ЗАДАНИЕ, которые необходимо выполнить перед совершением: #TODO: don't forget to refactor this function xxx.

Я реализовал это с помощью крючков Git. Хук – это механизм Git, запускающий специальные сценарии, когда происходят определенные важные действия. Я использовал крючок предварительной фиксации для проверки содержимого комита.

Просто создайте файл с названием <YOUR-REPO-FOLDER>/.git/hooks/pre-фиксировать с таким содержанием:

#!/bin/sh
marks=xxx,aaamarksRegex=`echo "($marks)" | sed -r 's/,/|/g'`marksMessage=`echo "$marks" | sed -r 's/,/ or /g'`if git diff --staged | egrep -q "^\+.*$marksRegex"; then    echo "you forgot to remove a line containing $marksMessage!"    echo "you can forcefully commit using \"commit -n\""    exit 1fi
  1. marks содержит последовательности символов, которые запрещено фиксировать.
  2. git diff --staged показывает изменения, которые будут внесены. Изменения передаются в регулярное выражение, которое ищет любой запрещенный знак (с помощью egrep).
  3. Если обнаружена запрещенная метка, скрипт завершает работу с кодом ошибки, что приводит к неудаче комита.

Вы хотите обойти крючок? Выполнитьcommit -n. Это может быть полезно, если вы хотите зафиксировать двоичный файл, например, изображение, которое может содержать запрещенный знак.

Какие трюки вы ввели в свой ежедневный рабочий процесс git? Поделитесь своей магией в комментариях 🙂

Этот пост изначально был опубликован на сайте www.anotherdatum.com.

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

Ваш адрес email не будет опубликован.