私は Git に慣れようとしているので、これは主に好奇心によるものです。「git fetch」のドキュメントを見ましたが、以下の明確な説明がありません。事前に感謝します。これが非常に明白である場合はお詫び申し上げます。
1) GitHub などの中央リポジトリから、website
2 台のマシンのそれぞれにある名前のリポジトリを複製しHostA
、HostB
.
2) でHostA
、ファイルに変更を加えて、README.txt
コミットします。
この時点で、ブランチと
HostA
ブランチのコミットは、まだプッシュしていないため、予想どおり異なりますmaster
origin/master
git show master
git show origin/master
異なるハッシュを報告する (master
変更がある場合とorigin/master
ない場合)
3) 一度押すと、その後は同じです。
4) ではHostB
、次のようにすると、次のようになります。
git fetch
git merge FETCH_HEAD
その後、HostBでクエリを実行したときに同じハッシュmaster
を報告しますorigin/master
git show
しかし
代わりに私がやった場合HostB
:
git fetch origin master
git merge FETCH_HEAD
その時点で、ハッシュはまだ異なります。
git show origin
git show origin/master
異なるハッシュを報告する
プレーンを実行するまで追跡ブランチorigin/master
は更新されませんgit fetch
どうしてこれなの?