4

Git のスクリプト作成では、チェックアウトされたブランチ名を調べる必要があります。これまでのところ、それを行う唯一の「信頼できる」方法はgit branch | sed -n '/^\* /s///p'. (color.branchcolumn.branch.gitconfig のようなもののために引用符を怖がらせます; まったく信頼できません。) 私が見つけた唯一の他のものは ですがgit name-rev、それは HEAD を指す最初の (名前でソートされた) ブランチを返すようです:

> git checkout master
> git checkout -b another
> git checkout master
> git name-rev HEAD
HEAD another

sed -n '\#^ref: refs/heads/#s###p' .git/HEADチェックアウトされたブランチを把握するよりも良いことはありますか?

4

2 に答える 2

9

現在のブランチを出力するだけです:

git rev-parse --symbolic-full-name --abbrev-ref HEAD

複数のブランチがある場合でも問題はありません。どのブランチにもいない場合は、HEAD

于 2013-05-31T13:29:31.690 に答える