16
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

git checkoutコマンドのbオプションとBオプションの違い

Last updated at Posted at 2020-03-18

git checkoutコマンド

git checkoutコマンドは皆様何かとお使いかと思います。
自身も新規ブランチのチェックアウト時に、下記のようなコマンドを打つことがあります。
この場合は -b オプションです。
(リモートの feature/hogehoge ブランチを、ローカルのfeature/hogehoge としてチェックアウト)

% git checkout -b feature/hogehoge origin/feature/hogehoge
Branch 'feature/hogehoge' set up to track remote branch 'feature/hogehoge' from 'origin'.
Switched to a new branch 'feature/hogehoge'

ただ、既にローカルに feature/hogehoge ブランチが存在していた場合、

% git checkout -b feature/hogehoge origin/feature/hogehoge
fatal: A branch named 'feature/hogehoge' already exists.

というエラーが発生します。

これはその名の通り、同名のブランチが既に存在しているため発生するエラーですが、
大文字の -B オプションを使用することで、上記エラーが発生することなく、
強制的にブランチのチェックアウトをすることが出来ます。
(強制的にするので使いどころ誤ると大変ですが・・・)
下記のような感じです。

% git checkout -B feature/hogehoge origin/feature/hogehoge
Branch 'feature/hogehoge' set up to track remote branch 'feature/hogehoge' from 'origin'.
Switched to and reset branch 'feature/hogehoge'

シェルスクリプト内で git checkout をする必要がある場合等、
強制的にチェックアウトしたい場合は有用かと思います。

短いですが以上です。
どなたかの助けになれば幸いです!

16
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?