git fetchの簡単な使い方:リモートコードをローカルウェアハウスに更新する


Gitでリモートのブランチから最新のバージョンをローカル方式に取得するには、以下のようにコードをローカルにダウンロードする方法を更新するには、iceのブログGithubに基づいてeoeに参加するオープンソースプロジェクトガイド方式1を参照してください.リモート・ウェアハウスの表示
1
2
3
4
5
6
$ git remote -v
eoecn   https://github.com/eoecn/android-app.git (fetch)
eoecn   https://github.com/eoecn/android-app.git (push)
origin  https://github.com/com360/android-app.git (fetch)
origin  https://github.com/com360/android-app.git (push)
su@SUCHANGLI /e/eoe_client/android-app (master)

以上の結果から、リモートウェアハウスにはeoecnとorigin 2の2つがあり、リモートから最新バージョンをローカルに取得しています.
1
2
3
4
$ git fetch origin master
From https://github.com/com360/android-app
 * branch            master     -> FETCH_HEAD
su@SUCHANGLI /e/eoe_client/android-app (master)

$git fetch origin masterリモートorigin倉庫のmasterブランチからローカルorigin master 3にコードをダウンロードする.ローカル・ウェアハウスとリモート・リファレンスの違いの比較
1
2
$ git log -p master.. origin/master
su@SUCHANGLI /e/eoe_client/android-app (master)

私のローカルウェアハウスはリモートウェアハウスコードと同じなので、他の情報はありません.リモートでダウンロードしたコードをローカルウェアハウス、リモートとローカルのマージにマージ
1
2
3
$ git merge origin/master
Already up-to-date.
su@SUCHANGLI /e/eoe_client/android-app (master)

私のローカルリファレンスコードはリモートコードと同じなのでAlready up-to-dateです
以上の方式は少し理解しにくいので、皆さんは以下の方式を使うことができて、しかもとても安全な方式2.リモートブランチを表示します.前の手順と同じです.リモートから最新バージョンをローカルに取得
1
2
3
4
$ git fetch origin master:temp
From https://github.com/com360/android-app
 * [new branch]      master     -> temp
su@SUCHANGLI /e/eoe_client/android-app (master)

git fetch origin master:tempこのコマンドは、リモートorigin倉庫のmasterブランチからローカルにダウンロードし、ブランチtempを新規作成することを意味します.
ローカル・ウェアハウスとリモート・リファレンスの違いを比較する
1
2
$ git diff temp
su@SUCHANGLI /e/eoe_client/android-app (master)

コマンドの意味は:masterブランチとtempブランチの違いを比較する私の違いがないため他の情報を表示しません4.tempブランチをmasterブランチにマージ
1
2
3
$ git merge temp
Already up-to-date.
su@SUCHANGLI /e/eoe_client/android-app (master)

区別がないので、Already up-to-dateを表示します.合併すると衝突する可能性がありますが、時間があれば衝突をどのように処理するかをブログに書いて補足します.5.tempブランチを希望しない場合は、このブランチを削除できます.
1
2
3
$ git branch -d temp
Deleted branch temp (was d6d48cc).
su@SUCHANGLI /e/eoe_client/android-app (master)

ブランチがプライマリブランチにマージされていない場合は、git branch-D<ブランチ名>を強制的に削除するには、次のコマンドを使用します.
まとめ:方式2はよりよく理解し、より安全で、pullに対してもコードをローカルに更新することができ、fetch+mergeに相当し、多くの人が書くと安全ではない.間違いがあればご指摘ください
変換元:
原文作者:com 360
原文住所:http://my.eoe.cn/com360/archive/3533.html