2017-06-30 6 views
1

HEADが指すブランチの名前を返すgitコマンドが必要です。つまり、私がmasterにいるとき、それはmasterを返すべきです。切り離されたHEAD状態では、ブランチ名と混同しないように何もないものを返すことができます。これを達成する最も簡単なコマンドは何ですか?Git:HEADがポイントするブランチを取得する最も簡単な方法

(申し訳ありませんが、質問はかなり些細なことのようですし、おそらく時間の無数を尋ねたが、私は満足のいく結果を得られなかった「HEADが指すブランチを取得する」のようなものを探していた。)

+0

git/HEAD – MrTux

+2

'git symbolic-ref HEAD' – MrTux

+0

@MrTux:ありがとうございます。これを回答として投稿してください。 – gexicide

答えて

3

あなたはprobaplyを探しています:

  • git symbolic-ref --short HEAD
  • git rev-parse --abbrev-ref HEAD

しかし、それは手動ですることも可能ですread .git/HEAD

+2

これは、スクリプトからこれを行うための2つの最良の方法です。重要な違いがあります:あなたのHEADが "detached"の場合は 'git symbolic-ref'コマンドが失敗し(エラーメッセージとともに)、' git rev-parse --abbrev-rev'コマンドが 'HEAD'を出力しますforこの場合。ですから、 'HEAD'をこのケース用に印刷したいなら' git rev-parse'を使います。確認したい場合は、分離されたHEADに別のコードパスを使用するには 'git symbolic-ref'を使います。 – torek

0

このコマンドを実行すると、git configにエイリアスを追加できます。

git config --global alias.current "!git branch|grep '*'" 

git current # should return the name of current branch. 

注:@MrTuxが示唆したように、現在のブランチを見つけることがあまりにも代わりgrepgit symbolic-ref --short HEADを使用することができます。

関連する問題