web-dev-qa-db-ja.com

Gitの現在のブランチのみを表示する

このための特別なgitコマンドを探してみましたが、見つかりませんでした。誰よりも短いまたは速いものを提案できます:

git branch | awk '/\*/ { print $2; }'
302
Ollie Saunders
$ git rev-parse --abbrev-ref HEAD
master

これはGit 1.6.3以降で動作するはずです。

555
earl

Git 1.8.1では、「-short」オプションを指定してgit symbolic-refコマンドを使用できます。

$ git symbolic-ref HEAD
refs/heads/develop
$ git symbolic-ref --short HEAD
develop
108
dieresys

あなたはの出力に興味があるかもしれません

git symbolic-ref HEAD

特に、あなたのニーズとレイアウトに応じてあなたがしたいかもしれません

basename $(git symbolic-ref HEAD)

または

git symbolic-ref HEAD | cut -d/ -f3-

そして再び、あなたにとっても興味深い.git/HEADファイルがあります。

Git 2.22(2019年第2四半期)では、git branch --show-currentというより簡単なアプローチを使用できます。

commit 0ecb1fc (2018年10月25日)by Daniels Umanovskis(umanovskis を参照してください。
C Hamano-gitster- in commit 3710f6 、2019年3月7日)

branch--show-current表示オプションを導入

--show-currentで呼び出された場合、git branchは現在のブランチ名を出力して終了します。
refs/headsなしで、実際の名前のみが印刷されます。
分離HEAD状態では、何も出力されません。

スクリプティングとインタラクティブ/有益な使用の両方を対象としています。
git branch --listとは異なり、ブランチ名を取得するためにフィルタリングは必要ありません。

14
VonC

これは私が偶然見つけた古いスレッドです。私が言えることから、GITの現在のブランチだけをネイティブに表示する方法はないので、私は使用しています:

#> git branch | grep '*'
12
theruss

これは迅速で、python AP​​Iで使用できるはずです。

git branch --contains HEAD
* master
7
urvish

私は使っています

/etc/bash_completion.d/git

Gitに付属しており、ブランチ名と引数の補完を含むプロンプトを提供します。

4
iny

これは短くはありませんが、切り離されたブランチも扱います:

git branch | awk -v FS=' ' '/\*/{print $NF}' | sed 's|[()]||g'
1
arn0n

完全を期すために、少なくともLinuxではecho $(__git_ps1)は、括弧で囲まれた現在のブランチの名前を提供する必要があります。

これは、gitコマンドではないため(gitに依存している場合)、特にbashコマンドプロンプトを設定して現在のブランチを表示するので、いくつかのシナリオで役立ちます。

例えば:

/mnt/c/git/ConsoleApp1 (test-branch)>echo $(__git_ps1)
(test-branch)
/mnt/c/git/ConsoleApp1 (test-branch)>git checkout master
Switched to branch 'master'
/mnt/c/git/ConsoleApp1 (master)>echo $(__git_ps1)
(master)
/mnt/c/git/ConsoleApp1 (master)>cd ..
/mnt/c/git>echo $(__git_ps1)

/mnt/c/git>
0
tymtam

git branchを使用するだけでうまくいきます。

Gitバージョン:2.13.2

0
indospace.io