Додавання Git репо і гілки в рядок стану Tmux


3

я знайшов файл конфігурації Tmux що показує, як додати гілку Git до рядка стану Tmux, але це просто показує [[ branch ]] незалежно від того, чи я перебуваю в Git repo чи ні. Я не впевнений, що це потрібно 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 repo для CWD в рядок стану Tmux?

Дякую.

Відповіді:


4

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

tmux-git показує гілку Git поточного робочого каталогу, а також перевіряє наявність неприєднаних і збережених змін.


1
Насправді це не відповідає на запитання, просто надає обхідний шлях bash користувачів.
WhyNotHugo

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 замість цього файлу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.