はじめに
プログラミング初学者です.Gitでpushしようとしたときに起きたエラーとその解決法を共有します.
環境
- Git 2.19.0(2022/4/22現在,2.36.0が最新だそうなのでかなり古いですね…)
ターミナル
$ git --version
git version 2.19.0
発生したエラー
ターミナル
# 現在のブランチの確認
$ git branch
* hogehoge
main
# pushしようとするとfatal(致命的!)だと怒られました
$ git push
fatal: The current branch hogehoge has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin hogehoge
hogehoge
ブランチには上流ブランチが設定されてないよと言っています.上流ブランチについては参考文献をご参照ください.
解決方法
Gitの提案通り--set-upstream
オプションを付けると上流ブランチの設定をしつつpushすることができます.
ターミナル
git push --set-upstream origin hogehoge
さらに--set-upstream
と-u
は同じ意味です(私はハイフンの位置や数を覚えられないので-u
を使っています).
ターミナル
git push -u origin hogehoge
上流ブランチの設定は初回のみ必要なので,次回からはgit push
のみでpushすることができます.
また,push時以外に上流ブランチを設定することも可能ですが(参考文献をご参照のこと),pushのときについでに設定する方法が一番楽だと思います.
ちなみに
各ブランチの上流ブランチを確認するにはgit branch
に対し-vv
オプションを用います.
ターミナル
$ git branch -vv
* hogehoge 28e9416 Initial commit
main 28e9416 [origin/main] Initial commit
main
には[origin/main]
という上流ブランチが設定されていて,hogehoge
には上流ブランチが設定されていないとき,上のような表示になります.