Автоматически удалите *.pyc файлы и иначе пустые каталоги, когда я проверю новое ответвление

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

53
задан hynekcer 11 October 2014 в 23:42
поделиться

2 ответа

Есть хук post-checkout , который нужно поместить в .git / hooks / post-checkout. Вероятно, там есть образец, возможно, с именем .sample или, возможно, не исполняемый, в зависимости от вашей версии git. Краткое описание: он получает три параметра: предыдущий HEAD, новый HEAD и флаг, который равен 1, если ветвь изменилась, и 0, если это была просто проверка файла. См. man githooks для получения дополнительной информации! У вас должна быть возможность написать сценарий оболочки, чтобы делать то, что вам нужно, и поместить его туда.

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

Еще одно примечание: Псевдонимы являются частью gitconfig, который может быть локальным для репозитория (в .git / config, а не в ~ / .gitconfig). Если вы решите сделать это с помощью псевдонимов (для git-checkout, а не git-branch), вы можете легко разместить их только в репозиториях, связанных с python. Также в этом случае я бы сделал псевдоним специально для этой цели (например, cc for checkout clean). Вы все равно можете использовать checkout (или другую его форму с псевдонимом), если не хотите очищать файлы pyc.

41
ответ дан 7 November 2019 в 08:44
поделиться

Просто скопируйте и обновите хорошее решение от Apreche, которое было похоронено в комментариях:

Сохраните этот сценарий оболочки в файл /path/to/repo/.git/hooks / post-checkout и сделать его исполняемым.

#! /bin/sh

# Start from the repository root.
cd ./$(git rev-parse --show-cdup)

# Delete .pyc files and empty directories.
find . -name "*.pyc" -delete
find . -type d -empty -delete
36
ответ дан 7 November 2019 в 08:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: