Dodaj gałąź git do monitu bash [duplikat]

Aug 28 2020

Próbuję dodać moją bieżącą gałąź git do mojego znaku zachęty terminala bash. Skopiowałem ten plik:https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh do mojego katalogu domowego i to jest część .bashrc, która odnosi się do mojej zachęty:

source ~/.git-prompt.sh

if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debian_chroot)}\[\033[32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00;31m\] \W$(__git_ps1 " (%s)")\[\033[00m\]\$ ' else PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\ \W$(__git_ps1 " (%s)")$ '
fi

Jednak \ W $ (__ git_ps1 "(% s)") zwraca bieżący folder i gałąź oraz zwraca bieżący katalog, gdy nie znajduje się w repozytorium.

Czy można sprawić, aby wyświetlał tylko bieżącą gałąź, gdy jestem w repozytorium, a kiedy nie jestem w jednym, nic nie wyświetla?

Odpowiedzi

1 Overfront64 Aug 28 2020 at 03:23

Odkryłem, że \ W wstawiał bieżący katalog, który nie był komentowany w kodzie źródłowym ani gdziekolwiek, gdzie ludzie rozmawiali o implementacjach. Naprawiłem to w tym:

PS1='${debian_chroot:+($debian_chroot)}\[\033[32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00;31m\]$(__git_ps1 " (%s)")\[\033[00m\]\$ '