ブランチをローカルで複製しリモートリポジトリにアップロードする時に「git push -u origin ブランチ名」というように「-u」というオプションをつけることを推奨する記事が多くてなぜなのか気になり調べた時の備忘録
オプション「-u」をつけるとリモートのリポジトリとローカルリポジトリを紐づけられる
git push -u origin ブランチ名
をつけてリモートリポジトリにプッシュをするとリモートリポジトリと紐づけをすることができ、git push
だけでリモートリポジトリにアップロードができるようになる
// 「-u」オプションつけたら以降はこのコマンドでアップロード可
git push
// 「-u」オプションをつけてないと毎回フルコマンドが必要
git push origin ブランチ名
これを面倒くさいと感じるか感じないかでオプション「-u」をつけるつけないかが変わってくるっぽい
リモートリポジトリと紐づいているか確認する方法
git branch -vv
というコマンドを使うと実際に紐づいているのかを確認できる
以下はdevelop
ブランチをベースにfeature/test
というブランチを複製し、リモートリポジトリにオプション「-u」をつけずにpush
した例
// オプション「-u」をつけずに「git push origin feature/test」をした場合
$ git branch -vv
* develop ed44983 [origin/develop] pageTitle横幅追加
* feature/test 3d54a85 [origin/develop: ahead 2] 詳細ページくみ上げ
複製したfeature/test
がorigin/develop
と紐づいているのが確認できる
試していないがこの状況下で
git push
するとdevelop
ブランチにpush
されちゃうのかなと次に、オプション「-u」をつけた場合
// オプション「-u」をつけて「git push -u origin feature/test」をした場合
$ git branch -vv
develop ed44983 [origin/develop] pageTitle横幅追加
* feature/test abea49c [origin/feature/test] 詳細ページ修正
オプション「-u」をつけてpush
しているとリモートリポジトリの該当ブランチにちゃんと紐づいてgit push
だけでアップロードできるようになるからオプション「-u」はつけた方がいいってことなのかなぁって思う
ちなみに、リモートリポジトリのブランチは「上流ブランチ」って呼ぶみたい
オプション「-u」について詳しく知りたいなら「上流ブランチ」で検索すると良い
オプション「-u」について詳しく知りたいなら「上流ブランチ」で検索すると良い