Мерзавец: Как проигнорировать файл от одного repo и добавить его к другому?

У меня есть приложение Ruby on Rails, которое я пытаюсь разместить на Heroku. Я также хотел бы использовать общественность GitHub (свободный) репозиторий для отслеживания изменений. Я нуждаюсь к регистрации в файле, содержащем пароли к Heroku удаленный repo, но игнорирую файл, таким образом, я не регистрирую его к GitHub. Существует ли способ, которым я могу добавить файл к одному repo и проигнорировать его от другого?

Обновление: Я выяснил, как решить мою непосредственную проблему хранения паролей в Heroku при помощи Конфигурации Heroku Вар. Однако я все еще интересуюсь понятием продвижения файла только к указанному repos.

7
задан Andrew 7 February 2011 в 21:05
поделиться

1 ответ

Что можно сделать, так это добавить в репо GitHub скрипт smudge (filter driver), который будет:

  • проверять наличие приватной ветки
  • проверять файл паролей из этой ветки

alt text

Поскольку приватная ветка будет существовать только в репо Heroku, скрипт smudge не будет ничего делать на стороне репо GitHub.
Но после переноса на сторону Heroku, если хук проверяет рабочую директорию на сервере Heroku, то тот же драйвер фильтрации сработает и создаст чувствительный файл.

Учитывая это, лучше всего, чтобы такой чувствительный файл никогда не был версионирован в каком-либо Git-репо, а хранился в другом месте.
Скрипт smudge, вместо того чтобы проверять содержимое какого-то Git-репо (например, приватной ветки), будет проверять внешнее репо (ssh ftp, репо Nexus, любое другое референсное место, где вы решили хранить эту приватную информацию), извлекать нужное содержимое и генерировать файл.

1
ответ дан 7 December 2019 в 14:28
поделиться
Другие вопросы по тегам:

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