fish_git_prompt - вывод информации о git для использования в командной строке
Синтаксис
fish_git_prompt
function fish_prompt
printf '%s' $PWD (fish_git_prompt) ' $ '
end
Описание
Функция fish_git_prompt отображает информацию о текущем репозитории git, если таковой имеется.
Git должен быть установлен.
Существует множество опций настройки, которые можно контролировать с помощью опций git или переменных оболочки fish. Опции git, где доступны, имеют приоритет над переменной оболочки fish с той же функцией. Опции git можно задать на уровне отдельного репозитория или глобально. Опции git можно установить с помощью команды git config, а переменные оболочки fish — как обычно, с помощью команды set.
Логические опции (те, которые включают или отключают что-либо) понимают «1», «yes» или «true» как истину, а любое другое значение — как ложь.
-
$__fish_git_prompt_show_informative_statusили опция gitbash.showInformativeStatusможно установить в значение 1, true или yes для включения «информативного» отображения, которое покажет большое количество информации — количество грязных файлов, не отправленных/не полученных коммитов и многое другое. В больших репозиториях это может занять много времени, поэтому вы можете отключить его в этих репозиториях с помощьюgit config --local bash.showInformativeStatus false. Оно также изменяет символы, используемые в подсказке, на менее простые (✚вместо*для состояния грязи, например), и если вас интересует только это, установите$__fish_git_prompt_use_informative_charsвместо этого.Поскольку подсчёт неотслеживаемых файлов требует много времени, количество неотслеживаемых файлов отображается только при включении с помощью
$__fish_git_prompt_showuntrackedfilesили опции gitbash.showUntrackedFiles. -
$__fish_git_prompt_showdirtystateили опция gitbash.showDirtyStateможно установить в значение 1, true или yes, чтобы показать, является ли репозиторий «грязным», то есть содержит несохранённые изменения. -
$__fish_git_prompt_showuntrackedfilesили опция gitbash.showUntrackedFilesможно установить в значение 1, true или yes, чтобы показать, есть ли в репозитории неотслеживаемые файлы (которые не игнорируются). -
$__fish_git_prompt_showupstreamможно установить в список значений, чтобы определить, как отображать изменения между HEAD и удалённым источником:-
auto -
сводка различий между HEAD и удалённым источником
-
verbose -
отображение количества коммитов вперёд/назад (+/-) от удалённого источника
-
name -
если verbose, то также отобразить сокращённое имя удалённого источника
-
informative -
аналогично verbose, но ничего не отображает, если значения равны — это значение по умолчанию, если включено информативное состояние.
-
git -
всегда сравнивать HEAD с @{upstream}
-
svn -
всегда сравнивать HEAD с вашим удалённым источником SVN
-
none -
отключает (полезно с информативным состоянием)
-
-
$__fish_git_prompt_showstashstateможно установить в значение 1, true или yes, чтобы отобразить состояние stash. -
$__fish_git_prompt_shorten_branch_lenможно установить в число символов, до которого будет укорочено имя ветки. -
$__fish_git_prompt_describe_styleможно установить в один из следующих стилей, чтобы описать текущее состояние HEAD:-
contains -
относительно более новой аннотированной метки, например
(v1.6.3.2~35) -
branch -
относительно более новой метки или ветки, например
(master~4) -
describe -
относительно более старой аннотированной метки, например
(v1.6.3.1-13-gdd42c2f) -
default -
именно совпадающая метка (
(develop))
Если ни один из этих случаев не применим, используется сокращённый до 8 символов SHA коммита.
-
-
$__fish_git_prompt_showcolorhintsможно установить в значение 1, true или yes, чтобы включить цвет для имени ветки и символов статуса.
Ряд переменных задаёт символы и цвета, используемые в качестве индикаторов. Многие из них имеют другое значение по умолчанию, если используется информативное состояние или установлено $__fish_git_prompt_use_informative_chars. В обычном случае используется первое значение по умолчанию, а затем информативное значение по умолчанию (если оно отличается). Если для цветов нет значения по умолчанию, используется $__fish_git_prompt_color.
-
$__fish_git_prompt_char_stateseparator(’ ‘,|) - символ, используемый между символами состояния -
$__fish_git_prompt_color(нет значения по умолчанию) -
$__fish_git_prompt_color_prefix- цвет префикса( -
$__fish_git_prompt_color_suffix- цвет суффикса) -
$__fish_git_prompt_color_bare- цвет для голого репозитория — без рабочей области -
$__fish_git_prompt_color_merging- цвет, когда происходит слияние/перебазирование/отмена/бисекция или cherry-pick -
$__fish_git_prompt_char_cleanstate(✔ в информативном режиме) - символ, используемый, когда ничего другого не применимо -
$__fish_git_prompt_color_cleanstate(нет значения по умолчанию)
Переменные, используемые с showdirtystate:
-
$__fish_git_prompt_char_dirtystate(*, ✚) - количество «грязных» изменений, то есть несохранённых файлов с изменениями -
$__fish_git_prompt_char_invalidstate(#, ✖) - количество «неслитых» изменений, например, дополнительных изменений в уже добавленных файлах -
$__fish_git_prompt_char_stagedstate(+, ●) - количество зафиксированных файлов без дополнительных изменений -
$__fish_git_prompt_color_dirtystate(красный с showcolorhints, в противном случае — color_flags) $__fish_git_prompt_color_invalidstate-
$__fish_git_prompt_color_stagedstate(зелёный с showcolorhints, в противном случае — color_flags)
Переменные, используемые с showstashstate:
-
$__fish_git_prompt_char_stashstate($, ⚑) -
$__fish_git_prompt_color_stashstate(то же, что и color_flags)
Переменные, используемые с showuntrackedfiles:
-
$__fish_git_prompt_char_untrackedfiles(%, …) - символ для неотслеживаемых файлов -
$__fish_git_prompt_color_untrackedfiles(то же, что и color_flags)
Переменные, используемые с showupstream (также подразумеваются информативным состоянием):
-
$__fish_git_prompt_char_upstream_ahead(>, ↑) - символ для коммитов, в которых этот репозиторий опережает удалённый источник -
$__fish_git_prompt_char_upstream_behind(<, ↓) - символ для коммитов, в которых этот репозиторий отстаёт от удалённого источника -
$__fish_git_prompt_char_upstream_diverged(<>) - символ, если этот репозиторий одновременно опережает и отстаёт от удалённого источника -
$__fish_git_prompt_char_upstream_equal(=) - символ, если этот репозиторий равен удалённому источнику -
$__fish_git_prompt_char_upstream_prefix(‘’) $__fish_git_prompt_color_upstream
Цвета, используемые с showcolorhints:
-
$__fish_git_prompt_color_branch(зелёный) - цвет ветки, если ничего другого не применимо -
$__fish_git_prompt_color_branch_detached(красный) цвет ветки, если она отсоединена (например, выведен коммит) -
$__fish_git_prompt_color_branch_dirty(нет значения по умолчанию) цвет ветки, если она грязная и не отсоединена -
$__fish_git_prompt_color_branch_staged(нет значения по умолчанию) цвет ветки, если она просто содержит что-то зафиксированное и в остальном чистая -
$__fish_git_prompt_color_flags(--жирный синий) — цвет по умолчанию для состояний dirty/staged/stashed/untracked
Обратите внимание, что все цвета также могут иметь соответствующий цвет _done. Например, содержимое $__fish_git_prompt_color_upstream_done печатается сразу _после_ удалённого источника.
См. также fish_vcs_prompt, который вызывает все поддерживаемые функции подсказки управления версиями, включая git, Mercurial и Subversion.
Пример
Простая подсказка, отображающая информацию git:
function fish_prompt
# ...
set -g __fish_git_prompt_showupstream auto
printf '%s %s$' $PWD (fish_git_prompt)
end
© 2005-2009 Axel Liljencrantz, 2009-2023 fish-shell contributors
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.6/cmds/fish_git_prompt.html