Git
コマンド
バージョン管理

git push --set-upstream origin masterって毎回聞かれるのをやめる

説明

きっと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を叩いてね』と言われることはもうありません。

おまけ

..って説明であっているのかな。数年前に設定したきり意識することがなかったのですが、マシーンを変えてから度々聞かれるので再設定しました。そのときの覚書として残すために投稿しました*