HOWTO · Git
致命的: 現在のブランチ マスターには、Git でアップストリーム ブランチ エラーがありません
致命的な問題を修正するさまざまな方法: 現在のブランチ マスターには、Git の上流ブランチ エラーがありません。
このページの内容
この記事では、Git の fatal: The current branch master has no upper branch エラーを解決するために使用できるさまざまな方法の概要を説明します。 通常、新しいローカル ブランチを作成し、いくつかのコミットを行い、リモート リポジトリにプッシュしようとすると、このエラーが発生します。
デフォルトでは、Git は、ローカル リポジトリでブランチを作成するときに、対応するブランチをリモート リポジトリに作成するように構成されていません。
エラーを解決するために使用できる 3つの方法を見てみましょう。
Git の fatal: The current branch master has no upper branch エラーを修正
簡単なチュートリアルとして、ローカル リポジトリに新しいブランチを作成し、いくつかのコミットを行い、プッシュを試行することで、Git で致命的: 現在のブランチ マスターにはアップストリーム ブランチがありませんというエラーが発生するシナリオをシミュレートします。
$ git checkout -b Dev2.1
いくつかの変更を加えてコミットしました。 リモートリポジトリにプッシュしてみましょう。
$ git push
このエラーを解決するために使用できる 3つの方法を次に示します。
最初の方法は、Git によって提案された方法です。 ただし、すぐに説明するように、このコマンドを使用することは強くお勧めしませんが、まず、このコマンドがどのように機能するかを見てみましょう。
エラーを解決するには、次を実行します。
$ git push --set-upstream origin Dev2.1
このコマンドは、ローカル ブランチを追跡するリモート リポジトリに Dev2.1 ブランチを設定します。 ただし、この方法では、リポジトリで予期しない奇妙な結果が生じる可能性があります。
2番目の方法を見てみましょう。
以下も使用できます。
$ git push -u origin Dev2.1
このコマンドは、ローカル ブランチと同じ名前のリモート ブランチを作成します。 エラーが発生した場合は、以下に示すように、コマンドに all フラグを追加します。
$ git push -u origin --all
git push --set-upstream コマンドの代わりに -u フラグを使用することをお勧めします。
上記の方法は、現在の問題を修正します。 恒久的な解決策が必要な場合はどうすればよいですか?
幸いなことに、Git は非常に順応性があります。 Git 構成ファイルを微調整して、3 番目の方法に進む恒久的な解決策を得ることができます。
以下のコマンドを実行して、ローカル ブランチを作成するときにリモート ブランチを作成するように Git を構成します。
$ git config --global push.default current
この厄介なエラーに再び対処することなく、git push コマンドを単独で使用できるようになりました。
結論として、ローカル ブランチを作成するときに対応するリモート ブランチを作成するように Git を構成していない場合、致命的: 現在のブランチ マスターにはアップストリーム ブランチがありませんというエラーが発生します。
このエラーを解決するために使用できるさまざまな方法を試しました。 何を避けるべきかがわかります。