Certos comandos git (diff, log) requerem privilégios sudo

Certos comandos git (diff, log) requerem privilégios sudo

Na minha instalação do Ubuntu 17.10, certos comandos git exigem permissões do sudo para serem executados corretamente (sem o sudo, eles retornam imediatamente e não imprimem nenhuma saída), enquanto outros não. O problema é o mesmo para todos os repositórios git no meu computador, portanto parece não estar relacionado à permissão em nenhum repositório específico. Esses comandos gitexigirsudo:

  • diferença
  • registro
  • mostrar

Aqueles fazemnãorequer sudo:

  • adicionar
  • comprometer-se
  • status
  • esconderijo
  • filial
  • Confira

Estou completamente perplexo, principalmente com o padrão de comandos permitidos/não permitidos. Alguma solução/sugestão para depuração adicional?

EDITAR:O problema persiste em um novo repositório. Permissões para a pasta (de ls -la):

total 28
drwxr-xr-x 3 morten morten 4096 5 de junho 20:52 .
drwxrwxr-x 33 morten morten 4096 5 de junho 20:50 ..
drwxr-xr-x 8 morten morten 4096 5 de junho 20:53 .git
-rw-r--r-- 1 morten morten 0 5 de junho 20:52 test.txt

Responder1

Alguns dos objetos em seu .git podem ter confundido a propriedade do arquivo? Você pode tentar alterar a propriedade e tentar os comandos git novamente sem sudo.

sudo chown -R morten:morten .git

Verifique também seu .git/config e ~/.gitconfig para ter certeza de que você não tem algo configurado para diff, log e show que requer sudo.

informação relacionada