Git Push Origin と Git Push Origin Master の違い

John Wachira 2024年2月15日
  1. git push origin master コマンド
  2. git push origin コマンド
Git Push Origin と Git Push Origin Master の違い

この記事では、git push origin コマンドと git push origin master コマンドの違いについて概説します。 これらのコマンドを使用して、変更をリモート リポジトリにプッシュします。

違いは、以下で説明するように、それらをいつ、どのように使用するかにあります。 各コマンドの機能、使用方法、および 2つのコマンドのそれぞれをいつ使用するかについて説明します。

git push origin master コマンド

git push origin master コマンドは非常に簡単です。 このコマンドを使用して、ローカルの変更を master ブランチからリモートの master ブランチにプッシュします。

これはデフォルトの動作であり、変更できません。

それだけです。 コマンドについて言えることはあまりありません。 次のコマンドに移りましょう。

git push origin コマンド

git push origin コマンドは、前のコマンドよりもかなり複雑です。 Git バージョン v1.7.11 より前は、git push origin コマンドを使用して、すべてのローカル ブランチを対応するリモート ブランチにプッシュしていました。

Git バージョン V2.0+ では、push.defaultmatching または simple に設定する必要があります。 設定されていない場合、Git はデフォルトで simple 構成に設定され、現在のブランチのみを対応するリモート トラッキング ブランチにプッシュします。

ローカル ブランチにリモート追跡ブランチがない場合、コマンドは失敗します。 例を見てみましょう。

ローカル リポジトリに feature ブランチがあり、そこにリモート追跡ブランチがあると仮定すると、push.default 値を設定せずに git push origin コマンドを呼び出すとどうなるでしょうか?

$ git push origin

Git は、以下のような警告を表示します。

Git 警告

出力は次のようになります。

git push origin

上記の出力からわかるように、Git は feature ブランチをリモート リポジトリにプッシュするだけの simple 構成を使用しています。

push.default の値を matching に設定するとどうなりますか? 確認してみましょう。

$ git config --global push.default matching

git push origin コマンドを実行すると、次のようになります。

git push origin matching

Git が 2つのブランチをリモートにプッシュしたことがわかります。 (つまり、master および feature ブランチ)

簡単に言うと、git push origin mastermaster ブランチをリモート トラッキング master ブランチにのみプッシュします。 一方、リモート追跡ブランチがある場合、git push origin コマンドは現在のローカル ブランチをプッシュします。

ただし、このコマンドの動作は、push.default 値を matching に設定して、すべてのローカル ブランチを対応するリモート トラッキング ブランチにプッシュすることで変更できます。

著者: 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 Push