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.default
を matching
または simple
に設定する必要があります。 設定されていない場合、Git はデフォルトで simple
構成に設定され、現在のブランチのみを対応するリモート トラッキング ブランチにプッシュします。
ローカル ブランチにリモート追跡ブランチがない場合、コマンドは失敗します。 例を見てみましょう。
ローカル リポジトリに feature
ブランチがあり、そこにリモート追跡ブランチがあると仮定すると、push.default
値を設定せずに git push origin
コマンドを呼び出すとどうなるでしょうか?
$ git push origin
Git は、以下のような警告を表示します。
出力は次のようになります。
上記の出力からわかるように、Git は feature
ブランチをリモート リポジトリにプッシュするだけの simple
構成を使用しています。
push.default
の値を matching
に設定するとどうなりますか? 確認してみましょう。
$ git config --global push.default matching
git push origin
コマンドを実行すると、次のようになります。
Git が 2つのブランチをリモートにプッシュしたことがわかります。 (つまり、master
および feature
ブランチ)
簡単に言うと、git push origin master
は master
ブランチをリモート トラッキング master
ブランチにのみプッシュします。 一方、リモート追跡ブランチがある場合、git push origin
コマンドは現在のローカル ブランチをプッシュします。
ただし、このコマンドの動作は、push.default
値を matching
に設定して、すべてのローカル ブランチを対応するリモート トラッキング ブランチにプッシュすることで変更できます。
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