Конкретные версии веток неотслеживаемых файлов
Простой пример Конфигурация базы данных хранится в файле config.php.
Этот файл содержит конфиденциальные данные (учетные данные базы данных), поэтому он добавляется в.gitignore. Мы не хотим этого в нашем публичном хранилище.
Главный филиал работает с нашей производственной площадкой. Разработчик работает с нашим сайтом тестирования. Оба сайта имеют разные учетные данные.
Если файл config.php отслеживался, мы могли бы использовать версии config.php для конкретных веток, просто добавив эту строку в наш файл.gitattributes.
config.php merge=ours
Как мы можем сохранить файл вне нашего публичного репо (.gitignore) И сохранить локально определенные для него версии этого филиала (.gitattributes)?
2 ответа
Я хотел бы предложить вам более простой способ:
Вы можете создать другой файл с именем, скажем, test_config.php
с проверкой учетных данных базы данных. Этот файл тоже не нужно отслеживать. Так что в производственной отрасли вы должны использовать config.php
и в тестовой ветке test_config.php
,
Это очень простое и надежное решение по сравнению со сложными обходными путями в git.
Есть несколько веток, на которые вы можете посмотреть:
https://help.github.com/articles/ignoring-files
Read the part: Ignoring versioned files
http://www.twinbit.it/en/blog/storing-sensitive-data-git-repository-using-git-crypt