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

git push 後の致命的なエラー

このエラーを解決するために使用できる 3つの方法を次に示します。

最初の方法は、Git によって提案された方法です。 ただし、すぐに説明するように、このコマンドを使用することは強くお勧めしませんが、まず、このコマンドがどのように機能するかを見てみましょう。

エラーを解決するには、次を実行します。

$ git push --set-upstream origin Dev2.1

git push セット アップストリーム

このコマンドは、ローカル ブランチを追跡するリモート リポジトリに 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 を構成していない場合、致命的: 現在のブランチ マスターにはアップストリーム ブランチがありませんというエラーが発生します。

このエラーを解決するために使用できるさまざまな方法を試しました。 何を避けるべきかがわかります。