Estou executando um servidor de desenvolvimento local no Apache. Eu tenho um script (escrito em PHP) que analisa todos os sites dev locais que eu tenho instalado e em execução, e me diz quais itens pendentes devem ser enviados para o git. Quando executo git status
como meu próprio usuário, o git ignora os arquivos definidos no meu arquivo .gitignore. Mas quando eu executo o comando via Apache / PHP, esses arquivos não são ignorados.
Não sei se estou explicando isso muito bem, então, por meio de uma demonstração, tenho uma pasta com três arquivos:
file1.txt
file2.php
file3.backup
Meu gitignore contém esta linha, para ignorar todos os arquivos de backup:
*.backup
Quando executo o comando git status
manualmente, vejo isso (com o arquivo de backup ignorado corretamente):
dave$ git status
file1.txt
file2.php
Se eu executar exec('cd /dir/ && git status -s /dir/', $output);
do PHP, vejo:
file1.txt
file2.php
file3.backup
O arquivo de backup aparece como um arquivo não versionado.
Eu não quero definir o gitignore em uma base por repo. Existe alguma maneira que eu possa fazer com que o meu usuário www-data use um gitignore? Ou há uma configuração de gitignore de nível superior para todos os usuários em uma máquina?