Erro “Você deve digitar um nome de arquivo” gerado quando eu crio um arquivo .gitignore no Windows


Respostas:


243

Chego um pouco atrasado mas vou te dar o truque !! 😉

No File Explorer, chame seu arquivo .gitignore.e ele removerá o final '.'

Um comportamento estranho do explorador de arquivos, mas, ei !, funciona 😅

Ou crie a partir de um editor de texto ...


8
Esse é um ótimo truque. Eu destaquei o nome do arquivo apenas para garantir que as pessoas não percam aquele extra .no final.
sábado

1
Para esclarecer, você altera o nome do arquivo (por exemplo, .env) para anexar .gitignore. (.env.ignore.), correto?
J Woodchuck

2
@woodchuck Não, acabei de adicionar um final .que será removido pelo explorador.
Philippe

É por isso que temos que usar um MAC
Morris S

Não, @MorrisS apenas desative "Extensões de nome de arquivo" na guia Mostrar / Ocultar do Explorer.
codah

11

O Windows Explorer não permite que você crie arquivos que consistam essencialmente em apenas uma extensão de arquivo. Isso ocorre porque o Windows Explorer tem a opção de ocultar extensões de arquivo, deixando você com um arquivo que você não pode ver (consulte Por que o Explorer não permite criar um arquivo cujo nome comece com um ponto? ). Essa não é uma restrição do próprio Windows ou do sistema de arquivos em uso.

Para criar um arquivo chamado .gitignore , você terá que usar outra ferramenta para criá-lo. Uma solução comum é criar um arquivo de texto (por exemplo, test.txt ), abri-lo no Bloco de notas e selecionar Salvar como ... para renomear o arquivo para .gitignore .

O interpretador de comandos do Windows também permite criar arquivos sem impor as restrições adicionais do Windows Explorer. Uma solução mais direta seria criar o arquivo na linha de comando. Isso pode ser feito usando o seguinte comando:

copy NUL .gitignore


Nota: Ao lidar com arquivos que não têm um nome, é útil desativar a opção "Ocultar as extensões dos tipos de arquivo conhecidos" no Windows Explorer. Caso contrário, o Windows Explorer pode mostrar arquivos sem nomes ou ocultá-los completamente.


A explicação do porquê é um pouco estranha, pois não faz diferença se você criá-lo com outra ferramenta e visualizá-lo no Windows Explorer. Acontece que eles foram preguiçosos para consertar suas coisas e forneceram uma solução alternativa.
d.popov

@ d.popov: O que há de estranho nessa explicação? Este é um problema de usabilidade, e o File Explorer faz a coisa certa. Também não há nada para consertar, porque nada está quebrado (exceto a convenção * NIX para colocar semântica adicional em nomes de arquivo que começam com um caractere de ponto). Na verdade, existe um código no Explorador de Arquivos que proíbe explicitamente a criação de arquivos que um usuário potencialmente não pode ver. A 'correção' seria remover o código que existe por um motivo. Este é um comentário estranho, de fato.
Inspecionável,

.gitignore ou .hgignore são exibidos e podem ser selecionados / abertos / renomeados mesmo com a opção de ocultar extensões conhecidas. Portanto, não permitir a entrada é um pouco chato. E a coisa com o último ponto é muito intuitiva;) Claro, isso é apenas minha opinião.
d.popov

@ d.popov: Você não apresentou um argumento convincente sobre por que acredita que isso seja um defeito. Você meramente reiterou que gostaria de ter as coisas de outra maneira. O local apropriado para solicitar alterações de design são os canais do UserVoice da Microsoft. Se você insiste que isso é um bug, o Microsoft Connect é o lugar certo.
IInspeitável

2

em cmd, basta digitar

 echo. 2>.name_you_want

ou

. 2>.name_you_want

para criar o arquivo.

se estiver criando um dir, basta digitar

mkdir .folder_name_you_want

0

Use em seu command linelugar.
Eu também estava tendo o mesmo erro. O problema estava . no início do nome do arquivo ou pasta.
Então eu criei por command line.


0

sim, você pode fazer com o comando propmt para a criação de pasta mkdir .folder_name

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.