Чтобы ответить на вопрос: если вы хотите исключить определенные файлы оформления заказа, вы можете использовать sparse-checkout
1) В .git/info/sparse-checkoutопределите, что вы хотите сохранить. Здесь нам нужны все (*), кроме (обратите внимание на восклицательный знак) config.php:
/*
!/config.php
2) Скажите git, что вы хотите принять во внимание разреженную проверку
git config core.sparseCheckout true
3) Если у вас уже есть этот файл локально, сделайте то, что git делает при разреженной проверке (скажите ему, что он должен исключить этот файл, установив на нем флаг "skip-worktree")
git update-index --skip-worktree config.php
4) Наслаждайтесь репозиторием, в котором ваш файл config.php принадлежит вам - независимо от того, какие изменения есть в репозитории.
Обратите внимание, что значения конфигурации НЕ ДОЛЖНЫ быть в системе управления версиями:
- Это потенциальное нарушение безопасности
- Это вызывает проблемы, подобные этой, для развертывания
Это означает, что вы ДОЛЖНЫ исключить их (поместить их в .gitignore перед первой фиксацией) и создать соответствующий файл в каждом экземпляре, где вы проверяете свое приложение (путем копирования и адаптации файла «шаблона»).
Обратите внимание, что после того, как файл возьмет на себя управление git, .gitignore не будет иметь никакого эффекта.
Учитывая, что, когда файл находится под контролем источника, у вас есть только два варианта (): - перебазировать всю историю, чтобы удалить файл (с помощью git filter-branch) - создать фиксацию, которая удаляет файл. Это похоже на проигрышную битву, но иногда с этим приходится мириться.
config.phpзафиксированы?