web関連

【git】git pushする時にオプション「-u」をつけた方がいい理由

ブランチをローカルで複製しリモートリポジトリにアップロードする時に「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/testorigin/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」について詳しく知りたいなら「上流ブランチ」で検索すると良い

Leave a Comment

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。