Состояние дел
Я использую настраиваемое приглашение оболочки для отображения некоторой соответствующей информации о моем git-хранилище.
Вот выдержка из моего текущего файла .bash_profile
(без ссылки на все цвета, чтобы упростить его).
GIT_PS1_SHOWDIRTYSTATE="yes"
GIT_PS1_SHOWSTASHSTATE="yes"
GIT_PS1_SHOWUNTRACKEDFILES="yes"
GIT_PS1_SHOWUPSTREAM="auto"
git_ps1_full_text ()
{
local tmp1="$(__git_ps1)"
local tmp2="${tmp1/\*/[unstaged]}"
local tmp3="${tmp2/\+/[staged]}"
local tmp4="${tmp3/\$/[stashed]}"
local tmp5="${tmp4/\%/[untracked]}"
local tmp6="${tmp5/<>/[diverged]}"
local tmp7="${tmp6/>/[ahead]}"
local tmp8="${tmp7/</[behind]}"
local tmp9="${tmp8/=/}"
printf -- "$tmp9"
}
PS1="\u@\h:\w "'$(git_ps1_full_text)'"\n\$ "
А вот что отображается, когда я нахожусь в моем локальном хранилище (как и ожидалось):
percelot@server:/home/users/percelot/git_repo/ (master [unstaged])
$
Фантастическое открытие: рабочие деревья
Несколько недель назад я обнаружил красоту рабочих деревьев.Поскольку мы управляем многими ветками и версиями одновременно, я постепенно пытаюсь использовать эту функцию.
Но я часто теряюсь в этих джунглях, которые я создаю в своем хранилище.
Итак, вот мой вопрос: есть ли способ показать текущее рабочее дерево в приглашении bash?
Каждый из моих рабочих деревьев помещен в git_repo/worktrees
Таким образом, текущее рабочее дерево отображается в моем приглашении (в \ w), но я бы предпочел, чтобы оно отображалось со всеми данными git.
Я не думаю, что есть эквивалент GIT_PS1_...
для текущего рабочего дерева.Но, может быть, есть хитрость?