Удалить файл настроек из репозитория GitHub, не удаляя его из каждого удаленного клона - PullRequest
1 голос
/ 25 апреля 2019

Я унаследовал веб-сайт PHP Weather Template, который обновляется и распространяется через GitHub. Предыдущий владелец не создавал достаточный файл .gitignore в начале, поэтому есть ряд файлов, которые отслеживаются git, но не должны. Эти файлы включают в себя базы данных .csv, которые обновляются пользовательскими данными, файлами данных json и файлом settings.php. После добавления списка файлов в .gitignore моя проблема сейчас - лучший способ, чтобы git не отслеживал эти файлы на всех удаленных клонах, которые используют пользователи. Моей первой мыслью было просто сделать git rm --cached <files>, однако он удаляет файлы у всех, удаляя все данные.

Затем я решил предупредить людей о необходимости сделать резервную копию файлов, и через неделю я бы выполнил команду git rm --cached, однако с неизвестным, но довольно большим количеством пользователей я не могу гарантировать, что все увидят сообщение в форумы, пока не стало слишком поздно, плюс, конечно, некоторые пользователи будут делать git pull, даже не заглядывая в форумы.

По тем же причинам, что и выше, проблема с каждым пользователем git rm --cached, вероятно, тоже не будет работать.

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

Ответы [ 2 ]

2 голосов
/ 25 апреля 2019

Нет способа делать то, что ты хочешь.Github - это не файловый хостинг, это хостинг репозитория git, он показывает содержимое ваших репозиториев.Чтобы удалить файлы из Github, вы должны удалить файлы из репозитория (необязательно в таком порядке: вы можете удалять файлы непосредственно из Github с помощью веб-интерфейса, но затем вам нужно будет извлечь изменения, и файлы будут удалены в вашем локальном репозитории),Прошу прощения

0 голосов
/ 25 апреля 2019

Если я правильно понимаю вашу проблему, вы хотите удалить файлы .csv из хранилища, но когда кто-то другой делает git pull, их собственные файлы .csv не затрагиваются.

Краткое примечание: для безопасности сделайте это в отдельной ветке или пробном запуске.

1) удалить все файлы git rm -r --cached .

2) обновить файл .gitignore, чтобы включить все эти файлы.

3) добавить все файлы обратно git add . (это не относится к файлам .gitignored)

4) совершить / нажать

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