Gitのgit statusで-bオプションを試してみた

はじめに

この記事では、「git statusの-bオプションの意味と実際に使ったらどうなるか」について書いています。

Gitにはたくさんのコマンドがあり、また自分は普段TortoiseGitを使っていて全然コマンドを覚えてないので、ちゃんと自分でコマンドを試しながら学んでみるべく記事にしました。

自分に向けた備忘録の意味もありますが、「Gitのコマンドにまだ習熟してない人」な人の一助になれば嬉しいです。

要点だけ

  • git status -bを使うと、ブランチ情報が出力される
  • 基本的には-sと一緒に使う(git status -sbのように使う)

前提(環境)

以下の環境、フォルダ構成で実験をしていきます。

sample
├ .git
│  └ ...(省略)...
├ alpha.txt  <- 変更されており、また`git add`でインデックス領域にステージングしたファイル
├ beta.txt   <- 変更されているがインデックス領域にステージングしていないファイル
└ gamma.txt  <- Gitで管理されていないファイル

git statusをしてみる

上で示したsampleフォルダに対してgit statusを実行すると、以下のような結果になります。

On branch main
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   alpha.txt

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   beta.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        gamma.txt

-bオプションで出力がどう変わるか

では次にgit status -bをした時に出力がどうなるかを見てみましょう

On branch main
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   alpha.txt

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   beta.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        gamma.txt

。。。出力がgit statusと全く同じです。何かミスをしたのでしょうか?

いいえ、これが正しい出力です。

git status -sgit status -s -bをした時の違い

-bオプションは-sオプションと使わないとその違いが分かりません。

ではgit status -sgit status -s -bで出力を比較してみましょう

まずgit status -sです。

 M alpha.txt
M  beta.txt
?? gamma.txt

続いてgit status -s -bです。どう変わるでしょうか。

## main
 M alpha.txt
M  beta.txt
?? gamma.txt

1行の差異ですが、ブランチ名が表示されるようになりました。

-bのbはbranchの頭文字で、ブランチ名を出力するようにするオプションです。

git statusではブランチ名が出力されてるので-bオプションをつけても何も変わらないのですね

補足: git status -s -bgit status -sb

git status -s -bgit status -sbですが、全く同じ意味です。 上の説明では分かりやすさを優先して敢えてgit status -s -bとしましたが、実際に使う場合はgit status -sbの方が文字数も少なく済むので良いかと思います。

おわりに

git statusの-bオプションの意味と実際に使ったらどうなるか」について解説しました。

さいごに、記事を書く上で参考にしたサイトのリンクを以下に掲載します。合わせて読んでいただくと良いかと思います。

qiita.com