説明
きっとgit push
をしたときに下記のようなメッセージに出会ったgitビギナーの方、多いと思います。
$ git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master
upstream branchがないのでgit push --set-upstream origin (ブランチ)
でセットしてくださいね。というものです。
※ 今回はマスターブランチにいたので(ブランチ)がmasterになっています。
この通りgit push --set-upstream origin master
をすればそのブランチはupstream branchとなり、次のgit push
ではupstream branchが存在するのですんなりpushされるようになります。
解決方法
それでも事あるごとにgit push --set-upstream origin master
するのは面倒。。
https://qiita.com/awakia/items/6aaea1ffecba725be601
この記事を参考に、どうやらcurrent
が面倒くさがりな自分向きではないかと思い、以下のように設定。
$ git config --global push.default current
これはgit push
したときに、現在のブランチリモートブランチに同名でpushするモード。つまりリモートに存在すればそのブランチにpushするし、なければ現在のブランチをリモートにpush。
もちろん"current"の部分を別のモードに変えれば、そのモードとしてグローバルに設定されます。違うプロジェクトに入ったとしても設定は保たれるので、『git push --set-upstream origin master
を叩いてね』と言われることはもうありません。
おまけ
..って説明であっているのかな。数年前に設定したきり意識することがなかったのですが、マシーンを変えてから度々聞かれるので再設定しました。そのときの覚書として残すために投稿しました*