Help us understand the problem. What is going on with this article?

git checkout -t でちょっと幸せになれる

More than 1 year has passed since last update.

概要

みなさまは git checkout -t を使ったことはありますか?これを使うと既存のリモートブランチをローカルに作成する作業が少し楽になります。

以下の3つのコマンドは全て同じ結果になります。リモートブランチから新しいブランチをローカルに生成し、さらにそのブランチへ移動する という動作をさせるコマンドです。

branch + checkout

最初に覚えたのはこれです。

git branch proj/exampleWorks origin/proj/exampleWorks
git checkout proj/exampleWorks

checkout -b

次に「それコマンド1回で済むよ」と教えてもらったのがこれです。

git checkout -b proj/exampleWorks origin/proj/exampleWorks

checkout -t

そして今回紹介するコマンドです。さらにタイプ量が少なくなりました。

git checkout -t origin/proj/exampleWorks

*さらに追加情報

@uasi さんより proj/exampleWorks が複数の remote に存在する状態でなければ、下記コマンドだけで checkout が可能であることをコメントでご教示いただきました。origin のみで開発しているリポジトリ等であれば、こちらが一番スマートかと思います。

git checkout proj/exampleWorks

参考
https://git-scm.com/docs/git-checkout#git-checkout-emgitcheckoutemltbranchgt

解説

If no -b option is given, the name of the new branch will be derived from the remote-tracking branch, by looking at the local part of the refspec configured for the corresponding remote, and then stripping the initial part up to the "*". This would tell us to use "hack" as the local branch when branching off of "origin/hack" (or "remotes/origin/hack", or even "refs/remotes/origin/hack"). If the given name has no slash, or the above guessing results in an empty name, the guessing is aborted. You can explicitly give a name with -b in such a case.

-t オプションは対象のリモートリポジトリとブランチを指定するオプションです。そして、-b オプションは実は省略が可能です。 -b オプションを省略すると、ローカルに作成されるブランチ名はリモートリポジトリのブランチの名前がそのまま使われます。

これを利用して リモートブランチから新しいブランチをローカルに生成し、さらにそのブランチへ移動するという動作をより少ないタイプ量でサクッと行うことができます。-b オプションの省略分だけタイプ量を減らすことができるわけですね。

最後に

知らなくてもたいして困ることはないですが、知っているとほんのすこしブランチ作成が楽になります。もしご存知なかったかたはぜひ試してみてください。

参考

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした