Pro git の「リモート ブランチ」を学習するときにこの質問が生じます。
質問:
git fetch がリモート追跡ブランチを取得すると、ローカル コピーが生成されますか?
最初に元の説明を読んでください。
作業を同期するには、git fetchorigin コマンドを実行します。このコマンドは、「origin」サーバー (この場合は git.ourcompany.com) を検索し、そこからローカルで利用できないデータをフェッチし、ローカル データベースを更新して、オリジン/マスター ポインタを新しいサーバーを指すように移動します。 、場所を更新しました。
図から、マスター ブランチはローカルであるため、リモート ウェアハウス (f4265 サブミッション ポイント) のクローンを作成した後、2 つのローカルサブミッションが行われ、新しいサブミッション チェーンが生成されます。同時に、サーバー上の他の誰かが、サーバーに送信されたマスター ブランチ (31b8e、190a3) をプッシュしたため、git fetchorigin を使用する場合、私の理解は次のとおりです:
ローカルのマスター ブランチは影響を受けません。フォークから フェッチの前にオリジン/マスターから開始して、新しいブランチがローカルに生成されます。このブランチはコピーをローカルに生成し、同時にオリジン/マスター ポインターはローカル コピーの末尾を指します。
しかし、以下を読んだ後、次の段落が表示されます:
特に注意すべき点は、新しいリモート追跡ブランチがキャプチャされたときに、編集可能なコピー (コピー) がローカルで自動的に生成されないことです。言い換えれば、この場合、新しいserverfixブランチは存在せず、変更不可能なorigin/serverfixポインタが存在するだけです。
分かりません、私のこれまでの理解は間違っているのでしょうか?では、図 32 の図も間違っているのでしょうか? 2 つのコミット ポイント (31b8e、190a3) はローカルではまったく取得されず、新しい起点/マスター ポインターのみがデータベースで取得されます。本文の原文では「ローカルで利用できないデータを取得し、ローカルデータベースを更新する」と書かれているが非常に曖昧で、データが何なのかについては書かれていない。
何も問題ありません。
新しいリモート追跡ブランチがフェッチされるとき、ローカルブランチは 編集可能なローカル コピーを作成する必要があります。
ローカル コピーを作成します。他のブランチはすべてgit checkout -b serverfix origin/serverfix
master ブランチのみが 編集可能なにあります。