2012-01-17 3 views

Respuesta

2

Funciona para mí, cuando lo haga:

  1. wget http://www.triquanta.nl/sites/default/files/git-flow.bash
  2. fuente git-flow.bash
  3. alias f = 'característica de flujo git'
  4. completa __git_flow_feature -F f
  5. f pestañapestaña

De todos modos, la razón más común para la "[: 1: operador unario espera" error es que usted tiene en el código de secuencia de comandos shell como:

if [ 1 = $MYVAL ] 

y su MYVAL no está establecida. Inspeccione sus funciones de finalización. Puede añadir set -x para depurarlo.

Por lo general, la solución más fácil es citar la variable para que el operador obtendrá el argumento vacío, pero también tiene el número correcto de argumentos:

if [ 1 = "$MYVAL" ] 
+1

Ya que es fiesta , use '[[' en lugar de '['. Es mucho más inteligente – Daenyth

2

tuve este problema también y cada búsqueda en Google me llevan de nuevo a esta publicación.

estoy fijando la solución que encontré usando la respuesta de Michal y el comentario de Daenyth ...

Mi git-flow.bash era idéntico, pero creo que nuestros archivos de terminación git podrían ser variables.

Para solucionar este tuve que modificar mi archivo finalización git encuentra en /etc/bash_completion.d/git

antigua:

# __git_find_on_cmdline requires 1 argument 
__git_find_on_cmdline() 
{ 
local word subcommand c=1 
while [ $c -lt $cword ]; do 
    word="${words[c]}" 
    for subcommand in $1; do 
     if [ "$subcommand" = "$word" ]; then 
      echo "$subcommand" 
      return 
     fi 
    done 
    c=$((++c)) 
done 
} 

Nuevo:

# __git_find_on_cmdline requires 1 argument 
__git_find_on_cmdline() 
{ 
local word subcommand c=1 
while [[ $c -lt $cword ]]; do 
    word="${words[c]}" 
    for subcommand in $1; do 
     if [ "$subcommand" = "$word" ]; then 
      echo "$subcommand" 
      return 
     fi 
    done 
    c=$((++c)) 
done 
} 

Aviso del soporte doble que tenía que agregar a la nuevo código. Ese fue el único cambio que hice.

+0

no funcionó para mí, aún con el mismo error [: 1: operador unario esperado – decebal

2

Por qué no sólo tiene que utilizar git-flow-completion? Las instrucciones para la fiesta de son:

$ cd /etc/bash_completion.d 
$ sudo wget https://raw.githubusercontent.com/bobthecow/git-flow-completion/master/git-flow-completion.bash 
$ exec $SHELL 

También hay instrucciones para zsh o fish.

1

tengo este alias:

alias gn="git-number" 
alias gb="gn -c git blame" 
alias ge="gn -c $EDITOR" 
alias ga="gn add" 
alias gr="gn -c git reset" 
alias gap="EDITOR='$EDITOR -w' gn add -p" 
alias gd="gn -c git diff -b -w --ignore-blank-lines" 
alias gds="gd --staged" 
alias gc="gn -c git checkout" 
alias gcf="git flow feature checkout" 
alias gl="gn -c git log -w -b -p --ignore-blank-lines" 
alias gls="git log --stat" 
alias cm="EDITOR='$EDITOR -w' git commit" 
alias grb="git stash save 'REBASE' && EDITOR='$EDITOR -w' git rebase -i" 
alias grbc="EDITOR='$EDITOR -w' git rebase --continue" 

gcd() { 
    test -n "$1" && cd $(dirname $(git list $1)) 
} 

source ~/.git-completion.bash 
__git_complete gn _git 
__git_complete ga _git_add 
__git_complete gap _git_add 
__git_complete gd _git_diff 
__git_complete gds _git_diff 
__git_complete gc _git_checkout 
__git_complete gcf _git_checkout 
__git_complete gl _git_log 
__git_complete gls _git_log 
__git_complete cm _git_commit 

source ~/.git-flow-completion.bash 

e instalar completion secuencias de comandos como:

wget -O ~/.git-completion.bash https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash 
wget -O ~/.git-flow-completion.bash https://raw.githubusercontent.com/petervanderdoes/git-flow-completion/develop/git-flow-completion.bash  

número Git señalar aquí es: https://github.com/holygeek/git-number Sólo tienes que copiar los binarios en repo a ~/bin

Cuestiones relacionadas