Как я могу игнорировать общую папку на git push? - PullRequest
0 голосов
/ 31 марта 2019

У меня есть проект Node.js, размещенный на Heroku, и я пытаюсь игнорировать мою папку public/ из push при загрузке в Heroku. Я включил строку public/ в файл .gitignore, это папка, которую я не хочу перезаписывать, но она не работает. Когда я нажимаю на Heroku, все изображения, хранящиеся в папке public/ на сервере, удаляются.

Вот мой .gitignore:

# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
firebase-debug.log*
# Dependency directories
node_modules/
public/

Почему это происходит и как я могу предотвратить это?

Ответы [ 2 ]

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

Когда я нажимаю на Heroku, все изображения с сервера удаляются

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

Heroku рекомендует хранить пользовательские загрузки в сторонних сервисах, таких как Amazon S3 .

0 голосов
/ 31 марта 2019

Вы также можете удалить папку из своего репозитория git.Использовали ли вы такую ​​команду git git rm -r --cached your_folder/

Если вы больше не хотите отслеживать папку и сохранять ее в своем хранилище git, вам нужно добавить папку в файл .gitignore, как вы это делали, а затем вам нужно использовать

git update-index --assume-unchanged public/*

Если вы хотите снова отслеживать папку, вы можете использовать

git update-index --no-assume-unchanged public/*

Подробнее на это руководство , что болееподробный.

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