Как удалить отслеживаемый каталог из локального, но сохранить в хранилище? - PullRequest
0 голосов
/ 25 марта 2019

У меня есть каталог с именем downloader в корневом каталоге моего приложения Magento.

На данный момент это в контроле версий. Я хочу сделать возможным, чтобы каталог и файлы были с контролем версий (в хранилище), чтобы отслеживать любые изменения.

Но я хочу безопасно удалить его с рабочего сервера, и когда я делаю git pull , каталог не должен извлекаться на сервере.

Также после удаления каталога с рабочего сервера не должно быть сообщений типа Удалено: Downloader / .

Как этого добиться?

1 Ответ

1 голос
/ 25 марта 2019

Существует функция, называемая sparse checkout, которая позволяет вам сделать это - она ​​в основном говорит Git локально игнорировать часть вашего хранилища при проверке или при взаимодействии с индексом, например, git status.

Документация здесь: https://git -scm.com / docs / git-read-tree # _sparse_checkout

Краткое описание того, что делать:

  • На своем производственном сервере, на верхнем уровне репо, создайте файл .git/info/sparse-checkout и добавьте два шаблона, каждый в отдельной строке: * и !/downloader/ (вместе означают: все, кроме downloader реж на верхнем уровне)
  • Включить все это: git config core.sparseCheckout true
  • Выполнить git reset - это отключит все поэтапные изменения и, в качестве побочного эффекта, применяет шаблоны к вашему индексу, чтобы git status, git add и друзья знали о них.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...