Страницы

Поиск по вопросам

пятница, 5 октября 2018 г.

Возможность коммита с заранее обнуленными (пустыми) переменными

Имеется проект с исходниками (на python), которые я регулярно выкладываю на Github. В нём присутствуют переменные (пока что одна, является токеном: TOKEN="..."), которые я не хочу выкладывать для всеобщего доступа. Однако у себя в процессе отладки и проверки эти переменные заполняю соответствующими значениями.
До этого я просто вручную перед коммитом удалял значение, потом, в процессе запуска и прочего, вставлял значение снова. Но теперь меня интересует, есть ли в Git возможность обнулять определенную переменную перед коммитом и пушем?
Пока что я вижу 2 выхода без использования возможностей Git:
либо иметь экспортируемый конфигурационный файл, который можно не использовать в общем репозитории; но пока что ради 1 переменной я считаю это избыточным решением; либо просто написать однострочник с sed`ом, что не так интересно, в отличие от познавания возможностей Git. Да и костыльно это, по-моему.


Ответ

В папке проекта создайте подпапку для скрытых конфигов. Добавьте её в .gitignore. Если приложению не требуется читать её от другого пользователя, ограничьте права.
mkdir .hidden chmod 0600 .hidden echo '.hidden' >> .gitignore
Почему папку, а не просто файл: потому что однажды вы можете его случайно переименовать, закоммитить и запушить. И ваш токен будет навсегда потерян, потому что гитхаб зеркалируется в реальном времени. Вариант с хуком я считаю опасным по той же причине — вы можете переименовать переменную в конфиге или как-то изменить формат, после чего хук тихо и молча не сработает.
В этой папке и храните конфиги с токенами в любом удобном вам формате. Конфиг даже для одной переменной — это нормально. Ваш ssh-ключ это, грубо говоря, тоже одна большая строка в файле.

Комментариев нет:

Отправить комментарий