web-dev-qa-db-ja.com

GitリポジトリとブランチをTmuxステータスラインに追加する

私は Tmux構成ファイル を見つけました。これはGitブランチをTmuxステータス行に追加する方法を示していますが、Gitリポジトリにいるかどうかに関係なく[[ branch ]]を表示するだけです。これに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.

ブランチとCWDのgitリポジトリ名をTmuxステータス行に追加するにはどうすればよいですか?

ありがとう。

4
dotancohen

そのためのBashスクリプトを開発しました: tmux-git

tmux-gitは、現在の作業ディレクトリのGitブランチを表示し、コミットされていない変更や隠された変更をチェックします。

5
drmad

これは、tmuxの新しいバージョンでははるかに簡単です。

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

プラットフォームとシェルに依存しないソリューションを開発して、Gitの作業ツリー情報をGitステータスバーに表示します: gitmux
これがプロジェクトページのスクリーンキャストですREADME

gitmux screencast

ブランチとリモートを表示するだけでなく、Git作業ツリーのステータスに関する追加情報も表示します。

  • コミット数ahead/behindアップストリームブランチ、ブランチの分岐
  • changedファイルの数、stagedmodifiedconflictsおよび* stashes **要素

使い方

set -g status-right '#(gitmux #{pane_current_path})'.tmux.confに追加すると、作業ディレクトリが更新されるか、ターミナルにコマンドが入力されるたびにgitmuxが呼び出され、gitmuxはtmux形式の文字列を出力します。 git statusの、tmuxステータスバーに表示されます。または、作業ディレクトリがGitによって管理されていない場合、何も出力されません。

5
arainone