2013-08-16 4 views
1

У меня есть некоторые пользовательские сценарии фильтров, которые я использую в своем репозитории Git.Есть ли выделенное место в моей папке .git, где я могу разместить частные скрипты?

В настоящее время они проверяются вместе с моими источниками, что иногда приводит к проблемам: когда я проверяю версию, более старую, чем та, где я добавил скрипты фильтра к моему репо, я получаю предупреждения о том, что фильтры не могут быть выполнены, они не могут быть найдены.

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

Я хочу сохранить их в репо, потому что содержимое сценария специфично для репо, поэтому просто поставить их в другое место на моей машине не то, что я ищу.

Вопрос: Есть ли какие-то «безопасные» местоположения внутри папки .git, где я мог хранить свои скрипты?

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

ответ

1

Содержимое самой папки .git не очень динамично (изменения довольно непредсказуемы, это ссылки и журналы, поэтому просто держитесь подальше от них).

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

AFAIK, папки на верхнем уровне папки .git обычно не начинаются с периода, поэтому вы можете просто создать папку .git/.scripts, чтобы содержать ваши личные файлы сценариев.

Если вы хотите, вы также можете сделать это внутри папки info - это действительно зависит от вас и которое вы найдете более упорядоченным.

1

Почему бы просто не включить имена скриптов в файл .gitignore? Таким образом, ваши сценарии не отслеживаются, и вы можете разместить их в любом месте в репо.

+0

Хорошая точка. Хотя это будет работать в принципе, я не хочу загромождать свое рабочее дерево файлами, которые в основном не нужны. Исходное дерево должно быть как можно более чистым ... – eckes

+0

В этом случае, почему бы просто не поместить скрипты за пределы репо и не вызвать их из репо, когда они вам понадобятся? Если вы абсолютно должны иметь скрипты, сохраненные в каталоге '.git', я бы проголосовал за' .git/hooks/'. Этот каталог содержит сценарии, вызываемые на основе их имен (например, 'pre-commit' вызывается автоматически до каждой операции фиксации). Если ваши скрипты не сталкиваются ни с одним из имен сценария крючка, не должно быть проблем, чтобы держать их там. – mart1n