skillup

技術ブログ

Git

gitのfetchに関して

投稿日:

gitでリモートの変更を取り込む場合、大きく分けるとfetchとpullがあります。

両者の違いですが、

fetch=一度、変更を取り込んで、ローカルの変更と相違点を確認できます。確認後mergeを行うとローカルに変更を取り込むことができます。

pull=一気にローカルの変更を行います。

よく言われているのはpull = fetch + merge origin masterですね。

fetch とpullの違いについて
http://qiita.com/osamu1203/items/cb94ef9da02e1ec3e921

実際の取込ですが、下記のように行うとスムーズです。

1 取込
git fetch origin master

2 fetchになっているコミットをみる
fetchしたコミットの情報がみれます。
git log HEAD..FETCH_HEAD

3 差分の確認
ローカルのソースとfetchの差分です。
git diff HEAD..FETCH_HEAD

4 最終的にマージ
git merge FETCH_HEAD
ここでソースが以前のコミットから変更がある場合は、mergeできません。
この場合、git checkout リビジョン番号 ファイル名などで所定のリビジョンに戻すか一度コミットする必要があります。

gitもまだまだ分かっていないこと多いなー。

-Git

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

git別リポジトリからの差分取りこみ、リモートの別ブランチ反映、強引なstash

gitについて最近覚えたことなど Contents1 別リポジトリからの差分取り込み2 別ブランチからファイルのみ取り込み3 追跡ブランチをローカルに取り込みたいとき4 強引なgit stash 別リ …

no image

最新版のgitをソースから&git diffおさらい

Contents1 gitをソースから2 git diff gitをソースから gitはyumから入れてもいいんですが、バージョンが古かったりすると機能がいろいろと制限されるなどのデメリットもあります …

no image

gitのfetch/merge/rebaseについて

git使って結構立ってるんですがいまだに仕組みがややこしく結構難しいなあと感じています。 基本的な使い方は以前紹介した「gitの紹介と基本的な使用法について」でいいと思います。 開発をやっていますと一 …

no image

Gitで差分を見やすく表示する方法

gitの差分確認ですが、デフォルトのコンソールの画面だと下記のようなわかりにくい表示になります。 差分をチェックしたい場合はやはり左右にわけてしっかり見ることができたほうがいいですね。 この実現の仕方 …

no image

gitのfetch/merge/rebaseについて その2

以前、gitのfetch/mergeについての記事を書きましたが、理論的なことは書いてあっても実際に処理の流れをかいていなかったので、今回はそのことについてメモリます。 Contents1 競合が起き …