Избегайте совершения хлама | GPTMain News

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

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

  • Отладочная печать: print 'xxx reached this line'.
  • Переменная, используемая для отладки: xxxCounter = 0.
  • Временная функция: def xxxPrintDebugInfo():.
  • TODO, которое необходимо выполнить перед совершением: # TODO: don't forget to refactor this function xxx.

Я реализовал это с помощью git hooks, который представляет собой механизм git для запуска пользовательских скриптов при выполнении определенных важных действий. Я использовал хук pre-commit для проверки содержимого коммита.

Просто создайте файл с именем .git/hooks/pre-commit со следующим содержанием:

#!/bin/sh

marks=xxx,aaa,asd
marksRegex=`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. You can forecully commit using \"commit -n\""
        exit 1
fi
  1. marks содержит последовательности символов, которые не могут быть зафиксированы.
  2. git diff --staged показывает изменения, которые будут зафиксированы. Изменения проходят через регулярное выражение, которое ищет любую запрещенную метку (используя egrep).
  3. Если обнаружена запрещенная метка, скрипт завершает работу с кодом ошибки, что приводит к сбою фиксации.

Если вы хотите обойти ловушку (например, вы хотите зафиксировать двоичный файл, такой как изображение, которое может содержать запрещенную метку), вы можете commit -n.

Последние статьи

Related articles

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь

hentai lou nicehentai.com ahegeo hentai pron v bigztube.mobi kannada school girl sex videos sxsi com pornoko.net indian porn xnxx.com سكس.جماعي pornigh.com سكس لوسي bangali sex in kompoz2.com ganapa kannada movie songs
سكس مع المعلمة matureporni.com سكس كس مفتوح desi clip.com foxporns.info girls sexy pictures хентай манга hentaitale.net hentai zombie girl little sister doujin justhentaiporn.com kasumi tendo hentai افلام جيانا مايكلز gratisfucktube.com foto sex
desi gay porn vedio momyporn.mobi nepali x video مدام شرموطه freetube18x.com ايناس الدغيدي سكس tony tony chopper hentai hentaimangaz.com naruto new hentai manga الكس والزبر pornarabic.net احلى بزاز ميلفاية arabgrid.net فلم\سكس