Распакуйте файл и сделайте gitignore его, но при удалении не удаляйте его на сервере - PullRequest
1 голос
/ 01 марта 2020

Я создал проект и отслеживал файлы конфигурации. Теперь я хочу удалить их из отслеживания и из репо.

Так что я положил их в .gitignore. Тогда я сделал git rm -cached с этими файлами. Я зафиксировал это, но теперь, если я потяну эту ветку, на удаленном компьютере удаляются все эти файлы на сервере.

Это не то, что я хочу. Он должен поддерживать файлы локально, а также удаленно, но файлы не должны отслеживаться или появляться в репозитории. Это возможно? Спасибо!

1 Ответ

2 голосов
/ 01 марта 2020

Нет, это невозможно.

Вы можете либо иметь файл в хранилище Git и отслеживать его, либо не иметь его в хранилище Git и не отслеживать. Отслеживать файл - значит иметь его в хранилище. Если вы удаляете файл из репозитория и игнорируете его, он не отслеживается и больше не является частью репозитория.

Если ваша цель - взять файл в репозитории и игнорировать его изменения, лучше всего способ сделать это - создать какой-то файл шаблона, который отслеживается , и скопировать его на место неотслеживаемого файла, который вы хотите изменить. Это можно сделать вручную или с помощью какого-либо сценария сборки или настройки.

Есть люди, которые скажут вам использовать для этого биты skip-worktree или предположить неизменными, но это не поддерживается и Git документация говорит не делать этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...