Щоб відповісти на запитання: якщо ви хочете виключити певні файли каси, ви можете скористатися розрідженою касою
1) .git/info/sparse-checkoutВизначте, що ви хочете зберегти. Тут ми хочемо, щоб усі (*), але (зверніть увагу на знак оклику) config.php:
/*
!/config.php
2) Скажіть git, що хочете взяти до уваги розрядний замовлення
git config core.sparseCheckout true
3) Якщо ви вже отримали цей файл локально, виконайте те, що git робить на розрідженій касі (скажіть, він повинен виключити цей файл, встановивши на ньому прапор "пропустити робоче дерево")
git update-index --skip-worktree config.php
4) Насолоджуйтесь сховищем, у якому є ваш файл config.php - незалежно від змін у сховищі.
Зверніть увагу, що значення конфігурації НЕ БУДУТЬ у контролі джерела:
- Це потенційне порушення безпеки
- Це спричиняє такі проблеми, як ця для розгортання
Це означає, що ОБОВ'ЯЗКОВО виключати їх (ставити їх у .gitignore перед першим вступом) та створювати відповідний файл у кожному екземплярі, де ви перевіряєте свою програму (копіюючи та адаптуючи файл "шаблону")
Зауважте, що після того, як файл приймає git, .gitignore не матиме жодного ефекту.
Зважаючи на те, що після того, як файл знаходиться під контролем джерела, у вас є лише два варіанти (): - відновити всю свою історію, щоб видалити файл (з git filter-branch) - створити команду, яка видаляє файл. Це як битися з програшним боєм, але, ну, іноді доводиться з цим жити.
config.php?