CHAPTER 3 · 1 lesson · 13問

remote リポジトリとの共有

remote リポジトリ(origin)へ push し、最新の commit を pull して同期する。

0 / 13 問クリア

ここまでは、あなたの local 端末だけで完結していた。この章では remote リポジトリ とやりとりするよ。

大事なことを先に言っておくね。remote リポジトリはサーバーではなく、ただのもう一つのリポジトリだよ。中身は local のものとまったく同じ構造をしていて、特別なものは何も入っていない。置かれている場所がネットワーク上にあるだけ。

  • git push … local の commit を remote リポジトリへ送信する
  • git fetch … remote リポジトリの最新履歴を取得する(local branch は動かさない)
  • git pull … remote の最新履歴を取得し、そのまま現在の branch に merge する

ここでいちばん多いつまずきは、push が拒否(rejected)されることだよ。

remote が自分の持っていない新しい commit を持っているとき、Git は push をブロックする。強制的に上書きすれば他のメンバーの commit が消えてしまうからだよ。先に git pull して、相手の commit を merge してから再度 push する。取り込んだあとには、conflict の解消と動作確認をしてから push しよう。

この章のレッスン

push と pull

  1. 03remote repository との共有push・fetch・pull で remote repository(origin)と履歴を同期し、push 競合(rejected)の解決手順を身につけよう。問題へ

つぎは「Pull Request とレビュー」。branch を push し、Pull Request(PR)を作成してコードレビューを受け、merge する。チーム開発の標準フロー。