質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.50%

  • Git

    1536questions

    Gitはオープンソースの分散バージョン管理システム(DVCS)です。

  • GitHub

    952questions

    GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

  • GitLab

    149questions

    GitLabは Gitoliteをブラウザから管理できるようにする Rubyアプリケーションで、 GitHubのようなサービスをクローズドな環境に独自で構築できるように 公開されたものです。

  • GitBucket

    49questions

    GitBucketとはScalaで実装され、Java仮想マシンで動作するリポジトリ管理ツールです。Webブラウザから管理することができます。 「GitHubクローン」と謳うだけあり、GitHubとよく似たUIを持ちます。

  • GitHub Enterprise

    6questions

    GitHub Enterpriseは、GitHub社が開発している企業向けのソフトウェア開発プラットフォームです。GitHubとほぼ同じ機能を持ち、クローズな環境でGitHubを構築することができます。

git pullとgit fetchの違い

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 386

Woopen

score 1616

git pull


git fetch origin master
git merge origin/master

は等しいという記述を目にしましたが、リモートに新たな更新があって、ローカルに適用しようとした際に、前者なら正常に更新が反映されるのですが、後者は「alredy up to date」と出ます。この二つの違いは何でしょうか?

詳細なログ

>>> git fetch origin master
Username for 'https://github.com': user_name
Password for 'https://user_name@github.com':
remote: Enumerating objects: 12, done.
remote: Counting objects: 100% (12/12), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 7 (delta 4), reused 7 (delta 4), pack-reused 0
Unpacking objects: 100% (7/7), done.
From https://github.com/project_name
 * branch            master     -> FETCH_HEAD
>>> git merge origin/master
Already up-to-date
>>> git pull 
Username for 'https://github.com': user_name
Password for 'https://user_name@github.com':
From https://github.com/project_name
   4c8c505..0946b9c  master     -> origin/master
Updating 4c8c505..0946b9c
Fast-forward
 myapp/migrations/0028_auto_20181121_1613.py |    83 +
 myapp/models.py                             |    29 +-
 static/myapp/css/base.css                   |    50 -
以下略
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

pullfetchmergeが等しいという記述は正しいです。

already up to date」は、リモートの変更が全てすでにローカルへ適用済みという意味です。
同じ状態でgit pullした場合でも同じメッセージが出ると思うのですが…

git pull のあとすぐに git fetchを行なっている場合は、pullしたときすでにローカルが最新になっているので上記のように表示されると思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/11/21 15:30

    ご回答ありがとうございます。
    「pullとfetch→mergeが等しい」ということですが、
    厳重に確認しましたところ、やはり、質問のような状況は起こりますね。
    なので、pullとfetch→mergeには何かしらの違いがあると思うのですが。。。
    何かご存知ではありませんか?

    キャンセル

  • 2018/11/21 15:32

    ちなみに、Githubを利用しています

    キャンセル

  • 2018/11/21 15:43

    詳細なログを貼っていただくことはできますか?

    キャンセル

  • 2018/11/21 16:38

    pullした際にはどうなるのかが気になります。
    maisumakunさんの言われる通り、詳細なログをいただけないでしょうか。

    キャンセル

  • 2018/11/21 16:38

    詳細なログを貼りました。回答お待ちしております

    キャンセル

  • 2018/11/22 09:03

    詳細なログありがとうございます。
    私もそこまで詳しいわけではなく申し訳ないのですが、以下の行が異なるのが気になります。

    From https://github.com/project_name
    * branch master -> FETCH_HEAD

    From https://github.com/project_name
    4c8c505..0946b9c master -> origin/master

    同じものをfetchしていないように見えます。
    すみません、それ以上は分からないです。

    キャンセル

同じタグがついた質問を見る

  • Git

    1536questions

    Gitはオープンソースの分散バージョン管理システム(DVCS)です。

  • GitHub

    952questions

    GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

  • GitLab

    149questions

    GitLabは Gitoliteをブラウザから管理できるようにする Rubyアプリケーションで、 GitHubのようなサービスをクローズドな環境に独自で構築できるように 公開されたものです。

  • GitBucket

    49questions

    GitBucketとはScalaで実装され、Java仮想マシンで動作するリポジトリ管理ツールです。Webブラウザから管理することができます。 「GitHubクローン」と謳うだけあり、GitHubとよく似たUIを持ちます。

  • GitHub Enterprise

    6questions

    GitHub Enterpriseは、GitHub社が開発している企業向けのソフトウェア開発プラットフォームです。GitHubとほぼ同じ機能を持ち、クローズな環境でGitHubを構築することができます。