Adicionando comandos git ao perfil bash

0

Estou usando o OSX e desejo adicionar uma função no terminal para executar um conjunto de comandos do 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
}

No entanto, depois de 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
    
por Seth Shill 02.10.2017 / 04:01

1 resposta

0

A linha

git commit —a -m “$1”

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

Primeiro —a vs -a : Devido ao traço mais longo, isso não é interpretado como uma opção, mas como um nome de arquivo. Use um traço padrão / menos ( - ) 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 palavra serão estendidas com um caractere engraçado.

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

    
por 26.10.2017 / 14:38