はんなりと、ゆるやかに

アジャイル、スクラムが好きが日々から学んだことをアウトプット

現在のブランチ名が取得できる git rev-parse を調べた

git rev-parse --abbrev-ref @ というコマンドを見かけて、「rev-parse?」「--abbrev-ref?」とちんぷんかんぷんだったのでrev-parse コマンドについて調べました。ちなみに、git rev-parse --abbrev-ref @ を実行すると、現在のブランチ名が取得できます。同じようなことはgit branch --containsでもできますが、取得できるブランチ名の先頭に「*」が付くのでブランチ名だけが欲しい場合は前者を使った方が良いですね。

git rev-parse は他に何が出来るかを調べました。

git-scm.com

git rev-parse --abbrev-ref @

現在のブランチ名が取得できます。これは便利です。

$ git rev-parse --abbrev-ref @
testBranch

ブランチ名を指定すれば、同じブランチ名が取得できますが、どんな時に使うかはわかりません。

$ git rev-parse --abbrev-ref master
master

git rev-parse @

ブランチが指すコミットのハッシュ値が取得できます。

$ git rev-parse @
71d...(省略)...cb6

$ git rev-parse master
d4d...(省略)...46c

git rev-parse --show-cdup

カレントディレクトリから最上位ディレクトリまでの相対パスが取得できます。サンプルは test1/test2/ のディレクトリから実行した場合です。

$ git rev-parse --show-cdup
../../

git rev-parse --show-prefix

--show-cdup と逆で最上位ディレクトリからカレントディレクトリまでのパスが取得できます。

$ git rev-parse --show-prefix
test1/test2/

git rev-parse --is-inside-work-tree

カレントディレクトリがgitリポジトリかどうか判定されます。

$ git rev-parse --is-inside-work-tree
true