git では、「push -u」は、ローカル ブランチのバージョンをリモート マージにアップロードし、プッシュのデフォルト値をリモート ブランチに記録することを意味します。「-u」パラメータを追加すると、次のことを意味します。 time リモート ブランチをプッシュし続ける場合、push コマンドは「git Push」と省略できます。
この記事の動作環境: Windows 10 システム、Git バージョン 2.30.0、Dell G3 コンピューター。
git Push コマンドは、ローカル ブランチ バージョンをリモートにアップロードしてマージするために使用されます。
通常、ローカル ウェアハウスをリモート ウェアハウスにプッシュする場合は、git Push コマンドが使用されます。初心者として、インターネットでいくつかのチュートリアルを見ましたが、その中には git プッシュ時に -u パラメーターを指定するものと、そうでないものがあります。実際のプッシュ結果に違いはありません。 -u パラメータが何をするのか知りたいのですが?
しばらく検索した後、皆さんの説明と分析の一部を要約して記録しました。
パラメータ分析:
まず、git Push については、次の記述があります:
-u
-set -upstream
最新のブランチまたは正常にプッシュされたすべてのブランチに対して、引数なしの git-pull(1) およびその他のコマンドで使用されるアップストリーム (追跡) 参照を追加します。 branch.< ;name>.merge in git-config(1).
この説明では、-u パラメータが次の変数
## に関連していることがわかります。 ##branch.8a11bc632ea32a57b3e3693c7987c420.mergebranch.8a11bc632ea32a57b3e3693c7987c420.merge と Branch.8a11bc632ea32a57b3e3693c7987c420.remote を組み合わせて、指定されたブランチの上流ブランチを定義します。これは、git fetch/git pull にどのブランチをマージするかを指示し、git Push にも影響を与える可能性があります。
そして、アップストリームとは、GitHub リポジトリなど、他のユーザーがプルするメイン リポジトリを指します。 -u オプションは自動的にアップストリームを設定し、リポジトリを中央リポジトリにリンクします。こうすることで、将来的に Git はどこにプッシュしたいのか、どこからプルしたいのかを「認識」できるようになり、パラメーターなしで git pull または git Push を使用できるようになります。
ソース リモートまたはブランチを指定せずにブランチから git pull する場合、git は、branch.8a11bc632ea32a57b3e3693c7987c420.merge 設定を調べて、どこからプルするかを判断します。そして、プッシュするブランチにこの情報を設定するのは git Push -u コマンドです。
簡単に言うと、
-u パラメータを使用することは、実際にはプッシュのデフォルト値をリモート ブランチに記録することと同じなので、次回はリモート ブランチのプッシュを続行する必要があります。push コマンドは次のことができます。 git Push と略されます。表示例:
この点を説明するための例を以下に示します。
andy@AndyMacBookPro:/usr/local/github/andy/php-examples$ git pull There is no tracking information for the current branch. Please specify which branch you want to merge with. See git-pull(1) for details. git pull <remote> <branch> If you wish to set tracking information for this branch you can do so with: git branch --set-upstream-to=origin/<branch> test
これは、事前に -u パラメーターを使用しておらず、後でプルするブランチ パラメーターを省略した場合の結果です。現在のブランチにトラックがないためプルします。したがって、どこからプルするかがわかりません。これが、トレース ブランチを指定する -u パラメーターの意味です。
実際には、-u を指定した後、.git/config に移動して GIT 構成ファイルを表示できます。以下にブランチ "test" のレコードが表示されます:
[branch "master"] remote = origin merge = refs/heads/master [branch "test"] remote = origin merge = refs/heads/test
Likeこの git のみ、現在のテストでリモートとマージの情報を知ることができます。git プッシュ時に -u パラメーターを指定しない場合、構成にはブランチ「テスト」項目は存在しません。
[branch "master"] remote = origin merge = refs/heads/master
設定手順。これは Git に 2 つのことを伝えます:
master ブランチにいる場合、デフォルトのリモートはオリジンです。
git pullmaster ブランチ (リモートとブランチが指定されていない) で使用する場合は、デフォルトのリモート (ソース) を使用し、リモートの master ブランチからの変更をマージします。
構成の変更
手動で .git/config に移動して GIT 構成ファイルの内容を変更することも、コマンド ラインを使用してこれらのオプションを設定することもできます。
$ git config branch.master.remote origin $ git config branch.master.merge refs/heads/master
コマンドを使用して構成すると、特定のエラー修正機能が備わります。たとえば、存在しないブランチを入力したか、git Remote add 操作を実行しませんでした。新しい git では、 git Branch --set-upstream-to=origin/master master を使用してください。
実際、 -u パラメータを追加してコマンド git Push -u Origin master を実行することは、次のコマンドを実行することと同じです。
git プッシュ オリジン マスターと
git ブランチ --set-upstream マスター オリジン/マスター。
したがって、コードをリモート ブランチにプッシュしていて、リモート ブランチへのプッシュを継続したい場合は、プッシュ コマンドに -u パラメーターを追加して、後続のプッシュ コマンド入力を簡素化できます。
推奨学習:「
Git チュートリアル以上がgit での Push -u の意味は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。