Мы используем Git в нашей организации для обновления кода на серверах для всех проектов. Часто разработчики забывают игнорировать файлы, которые следует игнорировать (например, конфигурацию базы данных или данные и т. д.), и помещают их на наш сервер Git. Который позже синхронизируется с фактическим сервером, на котором выполняется код (с помощью хуков). git pull
выполняется на сервере для получения последнего кода.
Теперь, если я добавлю какой-либо конкретный файл в .gitignore
и удалю его из index
и push
на сервер, используя приведенные ниже команды.
git rm --cached config.php
git add .gitignore
git commit -m "removed config file and ignored it"
git push origin master
Это удалит файл из Git, но не из моего локального репозитория. Это также предотвратит дальнейшее отслеживание.
Затем на сервере выполняется git pull
, который удаляет недавно проигнорированный файл, вызывающий проблемы. Простая команда pull
выполняется на сервере, как показано ниже:
git pull origin master
Я не хочу удалять файл config.php
с сервера при удалении его из удаленного репозитория git.
Иногда я таким же образом удаляю большое количество файлов, которые должны оставаться на сервере (где выполняется код).
Что было бы самым простым и программируемым решением для этого? Я разработал программу Node.js, которая входит на сервер и программно запускает там команду pull
.