Я рад слышать, что вы решили проблему с вашей версией, но я подумал, что стоит отметить, что git уже распространяется с полезной и тщательно продуманной функцией bash, которая называется __git_ps1
, которую вы можете включить в ваш PS1
. Например, вы можете использовать его так:
export PS1='blah blah blah$(__git_ps1 " (%s)") '
Если вы не находитесь в репозитории git, $(__git_ps1 " (%s)")
превратится в пустую строку. Если вы, тем не менее, то будет использоваться строка формата. Обычно это покажет вам вашу текущую ветку, но если вы находитесь в середине слияния или перебазирования, которое будет показано вместо.
По умолчанию __git_ps1
не покажет вам, является ли дерево грязным или нет неотслеживаемых файлов, так как в некоторых репозиториях это может замедлить появление вашего приглашения bash. Однако, если вы также хотите просмотреть эту информацию, она будет отображаться, если вы установите для GIT_PS1_SHOWDIRTYSTATE
или GIT_PS1_SHOWUNTRACKEDFILES
что-то непустое.
Дополнительную информацию можно найти в верхней части исходного файла git-completion.sh .