2011-09-05 6 views
6

he hackeado mi indicador bash a (en teoría) dime qué rama git Actualmente estoy en Pero la salida indica que algo malo de:.

22:07 (seesaw|REBASE-i) infwb $git branch 
* master 
    wkg 

Aquí está el código relevante en mi archivo .bash_profile (voy a poner un chunck mayor de que al final de esta pregunta):

PS1="$GRAY\$(date +%H:%M)\$(__git_ps1) $GREEN\W$YELLOW \$" 

Como se puede ver, $(__git_ps1) vuelve (seesaw|REBASE-i), a pesar de que ya no tengo una rama sube y baja! (Yo tenía una, y tenía un problema de rebase en relación con mi rama sube y baja a distancia en github. He resuelto el problema, creo, y git branch -r seesaw eliminado con éxito la copia local.)

estoy bastante seguro de que (seesaw|REBASE-i) me está diciendo que algo anda mal, pero no sé qué es.

Gracias por cualquier sugerencia que pueda tener. (Trozo de .bash_profile sigue)

-------from .bash_profile --------- 

## ----- from http://en.newinstance.it/2010/05/23/git-autocompletion-and-enhanced-bash-prompt/ 
# Set git autocompletion and PS1 integration 
if [ -f /usr/local/git/contrib/completion/git-completion.bash ]; then 
    . /usr/local/git/contrib/completion/git-completion.bash 
fi 

if [ -f /opt/local/etc/bash_completion ]; then 
    . /opt/local/etc/bash_completion 
fi 
## ----- end 

GRAY="\[\033[1;30m\]" 
YELLOW="\[\033[1;33m\]" 
GREEN="\[\033[0;32m\]" 

PS1="$GRAY\$(date +%H:%M)\$(__git_ps1) $GREEN\W$YELLOW \$" 

---------------- 

ADENDA

@cdhowie y @manojlds, estoy impresionado por sus conocimientos git!

git rebase --abort causaron que la información cambiara a (seesaw). Lamentablemente, no puedo encontrar rebase-merge (o .git) en ningún lugar de mi disco duro. Estoy en una Mac, que hace cosas extrañas para muchas herramientas de FOSS. (Encontré el mismo git, en/usr/local/git.) Nada en/Library/Application Support o ~ // Library/Application Support, tampoco.

(aún más adelante)

Resulta que todo está bien. De alguna manera, el git rebase --abort hizo que reapareciera la rama del balancín (¡no esperaba eso!), Y el comando me dejó con balancín como mi rama actual. A partir de ahí, supe qué hacer.

+0

¿Qué tal un nuevo repositorio? – manojlds

+0

Prueba con 'git rebase --abort'? Parece que piensa que estás en medio de una rebase. – cdhowie

+0

@cdhowie - Entonces la bifurcación mostraría 'no branch' – manojlds

Respuesta

4

En base a los comentarios de @cdhowie, tengo la sospecha de que __git_ps1 está manejando el escenario de git rebase de manera diferente. Así que busqué en la fuente y encontré las siguientes líneas:

... 
if [ -f "$g/rebase-merge/interactive" ]; then 
    r="|REBASE-i" 
    b="$(cat "$g/rebase-merge/head-name")" 
elif [ -d "$g/rebase-merge" ]; then 
    r="|REBASE-m" 
    b="$(cat "$g/rebase-merge/head-name")" 
... 

Así que, mientras la .git/rebase-merge existe que va a obtener la rama "malo", incluso si se ha mudado a otra rama.

git rebase --abort lo arreglaré. O eliminar .git/rebase-merge

Cuestiones relacionadas