検索

ホームページ  >  に質問  >  本文

git fetch がリモート追跡ブランチをフェッチすると、コピーが生成されますか?

Pro git の「リモート ブランチ」を学習するときにこの質問が生じます。

質問:
git fetch がリモート追跡ブランチを取得すると、ローカル コピーが生成されますか?

最初に元の説明を読んでください。

作業を同期するには、git fetchorigin コマンドを実行します。このコマンドは、「origin」サーバー (この場合は git.ourcompany.com) を検索し、そこからローカルで利用できないデータをフェッチし、ローカル データベースを更新して、オリジン/マスター ポインタを新しいサーバーを指すように移動します。 、場所を更新しました。

図から、マスター ブランチはローカルであるため、リモート ウェアハウス (f4265 サブミッション ポイント) のクローンを作成した後、2 つのローカルサブミッションが行われ、新しいサブミッション チェーンが生成されます。同時に、サーバー上の他の誰かが、サーバーに送信されたマスター ブランチ (31b8e、190a3) をプッシュしたため、git fetchorigin を使用する場合、私の理解は次のとおりです:
ローカルのマスター ブランチは影響を受けません。フォークから フェッチの前にオリジン/マスターから開始して、新しいブランチがローカルに生成されます。このブランチはコピーをローカルに生成し、同時にオリジン/マスター ポインターはローカル コピーの末尾を指します。

しかし、以下を読んだ後、次の段落が表示されます:

特に注意すべき点は、新しいリモート追跡ブランチがキャプチャされたときに、編集可能なコピー (コピー) がローカルで自動的に生成されないことです。言い換えれば、この場合、新しいserverfixブランチは存在せず、変更不可能なorigin/serverfixポインタが存在するだけです。

分かりません、私のこれまでの理解は間違っているのでしょうか?では、図 32 の図も間違っているのでしょうか? 2 つのコミット ポイント (31b8e、190a3) はローカルではまったく取得されず、新しい起点/マスター ポインターのみがデータベースで取得されます。本文の原文では「ローカルで利用できないデータを取得し、ローカルデータベースを更新する」と書かれているが非常に曖昧で、データが何なのかについては書かれていない。

巴扎黑巴扎黑2753日前943

全員に返信(1)返信します

  • 给我你的怀抱

    给我你的怀抱2017-06-22 11:54:57

    何も問題ありません。

    ローカルで利用できない

    データをキャッチし、ローカルデータベースを更新して、origin/masterポインタを新しく更新された場所に移動します。

    これに集中してください、このブランチがマスターです。

    新しいリモート追跡ブランチがフェッチされるとき、ローカルブランチは
    編集可能な

    コピー(コピー)を自動的に生成しません。 言い換えれば、この場合、新しいserverfixブランチは存在せず、変更不可能なorigin/serverfixポインタが存在するだけです。 そのため、

    を使用して
    編集可能な

    ローカル コピーを作成する必要があります。 git checkout -b serverfix origin/serverfix master ブランチのみが 編集可能な

    ローカル コピーを作成します。他のブランチはすべて

    にあります。

    返事
    0
  • キャンセル返事