Как мне отправить файлы, указанные в.gitignore?

Если у меня есть каталог "vendors" в моем.gitignore, есть ли способ настроить пульт, который будет получать этот каталог в любом случае, когда я делаю push?

4 ответа

Решение

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

Настройте dev филиал, который включает в себя ваш .gitignore файл, проверьте свою дополнительную работу в эту ветку.

Слей свой dev ответвление в ваш deploy ветвь, которая не содержит .gitignore файл, но содержит каталог поставщиков.

как только вы завершите слияние, нажмите на удаленное развертывание от вашего deploy ветка.

Ваш .gitignore Файл не имеет ничего общего с нажатием. Он используется такими вещами, как git status а также git add выяснить, какие файлы должны быть (или могут быть) частью будущего коммита. Вы можете добавить вещи, которые игнорируются, используя git add команда; он выдаст ошибку, если вы не используете -f опция:

The following paths are ignored by one of your .gitignore files:
somefilename
Use -f if you really want to add them.
fatal: no files added

После того, как вы добавили файл в хранилище, он будет добавлен вместе с любыми другими изменениями.

использовать -fнасильно добавить.

Вот пример.

      git add -f path/to/file

user4705929 правильный: git commitа также git pushбудет обрабатывать только контент, который вы установили для обновления на удаленном компьютере. Но когда вы звоните git addна что-то, что находится в .gitignore или внутри указанной там папки, git не принимает команду и выдает полученную вами ошибку.
Вы должны принудительно разместить такие файлы или папки, используя git add -f relative-path-to/my-file.pngили любые файлы, которые вы хотите, остальное то же самое (git commit, git push и т. д.).
* Я не мог понять, как это сделать через панель управления исходным кодом VS-Code, мне пришлось сделать это в терминале.

Другие вопросы по тегам