Sistemas UNIX, quando você tenta criar um diretório que já existe, retorna um erro "diretório já existe". O Windows retornará um erro "permissão negada" se você não puder criar o diretório se ele não existir, mesmo que ele já exista. Isso faz com que muitos programadores tenham problemas ao portar o código UNIX para o Windows.
Quando você tenta criar um repositório vazio como f:\
, a primeira coisa que o git
faz é criar o diretório para armazená-lo. Espera que, se o diretório já existir, ele receba um erro "diretório já existe". No entanto, f:\
é uma unidade para o Windows. O Windows interpreta isso como o programa que está tentando criar uma unidade e nega a permissão git
para fazer isso. Como git
não entende essa peculiaridade do Windows, acha que não tem permissão para acessar o diretório.
A solução é criar o repositório em um subdiretório.
(E para aqueles que escrevem / mantêm git
: Tentando criar um diretório para certificar-se de que existe e então abortar se você obtiver um erro é um comportamento errado . Se você estiver criando um diretório só para ter certeza de que existe e você falha - por qualquer motivo - você deve verificar se o diretório existe, o que causou muitos bugs em muitos programas diferentes (como este ) e, caramba, vocês devem saber disso agora.)