Adicionando comandos git ao perfil bash

Adicionando comandos git ao perfil bash

Estou usando o OSX e desejo adicionar uma função no terminal para executar um conjunto de comandos git. Portanto, criei um .bash_profile no meu diretório inicial com o código abaixo:

# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH=/usr/local/bin:$PATH

export PATH="$PATH:"/Applications/microchip/xc8/v1.35/bin""

export PATH=$PATH:"/Applications/microchip/xc16/v1.25/bin"

export PATH="$PATH:"/Applications/microchip/xc8/v1.38/bin""

function lazygit() {
    git add .
    git commit —a -m “$1”
    git push
}

Porém, após executar este código recebo o seguinte erro:

Seths-Air:rpt04-recursion Seth$ lazygit "test of lazygit"
error: pathspec '—a' did not match any file(s) known to git.
error: pathspec 'of' did not match any file(s) known to git.
error: pathspec 'lazygit”' did not match any file(s) known to git.
Everything up-to-date

Responder1

A linha

git commit —a -m “$1”

contém vários caracteres que se parecem com aqueles que o shell interpreta, mas na verdade são outros caracteres.

Primeiro —avs -a: Devido ao traço mais longo, estenãointerpretado como uma opção, mas como um nome de arquivo. Use um traço/menos padrão ( -) aqui.

Segundo “$1”vs "$1": Sua sequência de comentários de check-in será dividida em palavras separadas e a primeira e a última palavras serão estendidas com um caractere engraçado.

Em todos os casos, parece que você usou um editor inadequado para escrever programas e scripts ou copiou e colou coisas de algum site que fez essa confusão. Você precisa de caracteres ASCII simples, pois eles estão diretamente no teclado e não nas variantes de "impressão bonita" destinadas a humanos. Em caso de dúvida, copie e cole-os aqui :-)

informação relacionada