致命的: 現在のブランチ マスターには、Git でアップストリーム ブランチ エラーがありません

John Wachira 2024年2月15日
致命的: 現在のブランチ マスターには、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 を構成していない場合、致命的: 現在のブランチ マスターにはアップストリーム ブランチがありませんというエラーが発生します。

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

著者: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

関連記事 - Git Error