Como usar o comando git “touch” no PowerShell para criar o arquivo .ignore?

1

Como posso usar o touch comando para fazer um arquivo ".ignore" do PowerShell?

Eu posso usar o comando no git Bash (MINGW64)

me@my_computer MINGW64 ~/stuff (master)
$ touch .gitignore

... mas seria ótimo ficar no PowerShell e trabalhar em torno do desejo do Windows de não ter nomes de arquivos que começam com um ponto final. As páginas de ajuda / man / info do Bash não reconhecem touch. FWIW, eu estou seguindo junto este tutorial e fiz algumas pesquisas com os links nas respostas Aqui mas não encontrei uma resposta. Quando eu tento touch .gitignore no PowerShell eu recebo essa mensagem de erro:

PS C:\Users\_user_name_\stuff> touch .gitignore
The term 'touch' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:6
+ touch <<<<  .gitignore
    + CategoryInfo          : ObjectNotFound: (touch:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
Mr. Kennedy
fonte
new-item .gitignore -itemtype file parece funcionar, mas é meio desajeitado digitar
Mr. Kennedy
Como posso criar um alias que aceite o tipo -item? new-alias -name touch -value new-item -itemtype file não funciona ...
Mr. Kennedy
1
Somente new-item .gitignore funciona, você assume que quer um arquivo quando está em um local de disco rígido.
Ƭᴇcʜιᴇ007
@ Ƭᴇcʜιᴇ007 sim, mas seria bom ter apenas duas palavras para digitar. Estou pesquisando como fazer uma função PS para poder adicionar um alias 'touch' ao meu perfil, o que pressupõe um tipo: file . Obrigado.
Mr. Kennedy
1
Como é "new-item .gitignore" e diferente de "touch .gitignore"? Já que agora você sabe que não precisa do "-itemtype", deve poder simplesmente aliasar o novo item como "toque". Dito isto, "novo item" já tem um apelido: "ni". assim ni .gitignore deve funcionar bem para o que você está pedindo, e é ainda mais curto. :)
Ƭᴇcʜιᴇ007

Respostas:

0

Adicionar este código ao meu perfil .ps1 faz o truque: C: \ Usuários \ nome_do_usuário \ Documents \ WindowsPowerShell \ Microsoft.PowerShell_profile.ps1

<#
The following function and alias assignment
are for use with git to create files which
start with a period, e.g. .gitignore
#>
function touch_file
{new-item $args[0] -itemtype file}
new-alias -name touch -value touch_file

E agora eu posso entrar touch .gitignore no prompt do PowerShell e não ter o Windows em meu nome de arquivo começando com um ponto ou me perguntando que tipo de objeto está fazendo:

PS C:\Users\user_name> touch .gitignore
    Directory: C:\Users\user_name
Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---         8/16/2016  11:41 PM          0 .gitignore

Um passo mais perto de obter o meu lappy para responder adequadamente a "Faça o que eu quero!" :)

Mr. Kennedy
fonte