git push のオプション「-u, --set-upstream」と、Git 初心者にあまり理解されていない「上流ブランチ」についてです。
目次
git push の「-u, --set-upstream」
git push は、特に初めてブランチをPushするときに「-u」オプションをつけることを推奨されます。このオプションにより、push 先のリモートブランチが、push 成功時に上流ブランチとして設定されます。
例えば、はじめてローカルのブランチ「master 」をレポジトリ「origin」にpush するときに、-u オプションを付加すると、origin 上の master ブランチがローカル master の上流ブランチとして設定されます。
// push と成功時に上流ブランチとして設定する。
git push -u origin master
上流ブランチってなんなのさ?
「上流ブランチ」とはやや定義がわかりにくく、Git 入門者にとって、とっつきづらい単語の1つです。実際には、「ローカルブランチが、更新を追いかけるリモートブランチ」の事を指すのですが、これは具体的に、任意のローカルブランチに関するconfig 値によって定義されます。
- レポジトリ:branch.<ローカルブランチ名>.remote
- ブランチ :branch.<ローカルブランチ名>.merge
それぞれ、上流となるレポジトリとそこにある上流ブランチのブランチ名を定義します。詳しくは、別の記事にまとめました。ご一読下さい。
git pus -u のメリット
上流ブランチを設定する利点としては、なんといっても「git push、git pull のときにレポジトリ、ブランチの引数を省略できる」という点です。
// 現在のブランチの上流ブランチに push する
git push
// 現在のブランチの上流ブランチから pull する
git pull
これにより、すばやくコマンドを叩くことができます。どちらも本当に何度も利用するコマンドなので、じわじわ恩恵がきいてきますよ。
git push が引数を省略したときの仕様は、もうすこし複雑ですので、ぜひこちらも合わせて呼んでみてください。
それ以外の上流ブランチの設定方法
git push 以外にも、設定方法はたくさんあります。詳しくはこちらの記事を御覧ください。
git push の参考情報
こちらに、git push の基本仕様について詳しくまとめています。
公式ドキュメントです。