42
32

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Git初心者なのでpullでつまづいたのでメモ

Last updated at Posted at 2018-05-25

git push origin 今いるブランチ の反対は、git pull origin 今いるブランチ だと思ったらそうじゃなかったのでまとめます。

登場人物紹介

  • 現在のローカルブランチ → google-button
  • Default のリモートブランチ →  master
  • 追跡ブランチ → origin/master

やったこと

$ git pull origin HEAD

$ git pull origin google-button

が失敗したので、無理やり、

$ git pull origin HEAD
 * branch            HEAD       -> FETCH_HEAD

とやったら、自分の望んだ通り、現在のローカルブランチにリモートブランチがマージされた。

ここで出てくる言葉を整理すると、

  • origin は GitHub リポジトリ URL の別名
  • HEAD はデフォルトで設定されているリモートのブランチ
    • git branch -a で確認できる。
      • HEAD は今いるブランチだと思って上記コマンドを打った。

$ git pull origin master

pull についての説明でよく出てくるのはこっち。

$ git pull origin master
 * branch            master     -> FETCH_HEAD
   XXXXXXX..XXXXXXX  master     -> origin/master
  • git pull origin HEAD と同様、現在のローカルブランチにリモートブランチがマージされた。

$ git fetch$ git merge origin/master

git pull = git fetch + git merge ということなので。

$ git fetch
   master     -> origin/master
  • リモートブランチが追跡ブランチにマージされた。
  • この時点で git checkout FETCH_HEAD すると、 fetch されたコードがみれた。
$ git merge origin/master
  • 現在のローカルブランチに追跡ブランチがマージされた。

まとめ

git push の反対は git pull ではない によると、

git push は、ローカルのリポジトリの内容をリモートのリポジトリに送り込むコマンドです。
git fetch は、リモートのリポジトリの内容をローカルのリポジトリに取り込むコマンドです。

なので、

  • git push の対になるのは git fetch である!
  • git pull origin リモートブランチ を現在のローカルブランチで行ったら、リモートブランチの内容をマージできる!
42
32
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
42
32

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?