3

Я нашел файл конфигурации Tmux, который показывает, как добавить ветку Git в строку состояния Tmux, однако он просто показывает [[ branch ]] независимо от того, нахожусь ли я в репозитории Git или нет. Я не уверен, требует ли это git-completion , но если это так, я даже не уверен, установлен ли он как «виртуальный» пакет в Ubuntu (начальный «v» означает «виртуальный»):

$ aptitude search git-completion
v   git-completion

$ sudo apt-get install git-completion
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'git' instead of 'git-completion'
git is already the newest version.

Как добавить ветку, а также имя git-репо для CWD в строку состояния Tmux?

Благодарю.

3 ответа3

8

Это намного проще в новых версиях tmux:

set -g status-right '#(cd #{pane_current_path}; git rev-parse --abbrev-ref HEAD)'
5

Для полноты картины хочу упомянуть еще одно решение, которое я разработал, чтобы показать состояние текущего рабочего дерева Git в tmux: tmux-gitbar.
Хотя это не форк отличного tmux-git, он основан на нем.

Вот скринкаст на странице проекта README:

Tmux-Gitbar Screencast

Наряду с отображением ветки и удаленной ветки, она показывает дополнительную информацию о состоянии рабочего дерева Git:

  • количество коммитов впереди / позади восходящей ветви, дивергенция ветви
  • количество измененных файлов, постановка, изменение, конфликты и элементы * stashes **
  • цвета

Как это устроено

Обратный вызов добавляется в переменную среды $PROMPT_COMMAND (его значение оценивается при каждом запуске команды в оболочке).
Этот обратный вызов обновляет строку состояния tmux с подробной информацией, которую она анализирует из git status --porcelain etc... . Д.
Или это ничего не делает в случае, если CWD не является рабочим деревом Git, и позволяет tmux вместо этого показывать все, что было предварительно объявлено в файле tmux.conf .

4

Для этого я разработал сценарий Bash: tmux-git.

tmux-git показывает ветку Git текущего рабочего каталога, а также проверяет незафиксированные и спрятанные изменения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .