Я запускаю локальный сервер разработки на Apache. У меня есть скрипт (написанный на PHP), который сканирует все локальные сайты разработчиков, которые у меня есть и работают, и сообщает мне, какие еще не выполнены элементы, которые нужно передать в git. Когда я бегу git status
как мой пользователь, git игнорирует файлы, установленные в моем файле .gitignore. Но когда я запускаю команду через Apache / PHP, эти файлы не игнорируются.
Я не уверен, что хорошо это объясняю, поэтому в качестве демонстрации у меня есть папка с тремя файлами:
file1.txt
file2.php
file3.backup
Мой gitignore содержит эту строку, чтобы игнорировать все файлы резервных копий:
*.backup
Когда я запускаю git status
вручную, я вижу это (файл резервной копии правильно проигнорирован):
dave$ git status
file1.txt
file2.php
Если я сбегу exec('cd /dir/ && git status -s /dir/', $output);
из PHP я вижу:
file1.txt
file2.php
file3.backup
Файл резервной копии отображается как неверсированный.
Я не хочу устанавливать gitignore для каждого репо. Есть ли способ заставить моего пользователя www-data использовать gitignore? Или есть настройка gitignore более высокого уровня для всех пользователей на машине?
Вы можете установить глобальный .gitignore, используя следующую команду конфигурации:
git config --global core.excludesfile /path/to/.gitignore_global
Обратите внимание, что имя файла может быть любым, в примере, который я использовал .gitignore_global