目次
Git用語の基礎
Push:ローカルリポジトリからリモートリポジトリ(例:GitHub)へデータを送信する操作。
→ コミットした変更を共有サーバーにアップロードする動作。
Pull:リモートリポジトリ(例:GitHub)の変更をローカルリポジトリに取り込む操作。
→ 内部的には git fetch(取得)+ git merge(統合)を自動的に実行する。
| 操作 | 方向 | 主な目的 | 補足 |
|---|---|---|---|
| Push(プッシュ) | ローカル → リモート | ローカルリポジトリの変更内容(コミット)を、リモートリポジトリ(例:GitHub)に送信し反映する操作。これにより、自分の作業内容が他の開発者と共有される。 | 他の人が更新している場合は、push前に再度pullが必要になることがある |
| Pull(プル) | リモート → ローカル | 最新のファイルを取得 (他の人がリモートリポジトリに push した変更内容を、自分のローカルリポジトリに取り込む) | ・自動でmergeするため、衝突(コンフリクト)に注意 ・内部処理: Fetch+Merge |
| Fetch(フェッチ) | リモート → ローカル(参照のみ) | リモートリポジトリ上の最新コミットを取得し、ローカルのリモート追跡ブランチを更新(ローカルブランチにはまだマージしない) | リモートの最新状態を確認したいときなど |
| Merge(マージ) | ローカル内の統合処理 | 異なるブランチ間の変更を統合する操作。Pullで取得したリモートブランチや、別ブランチの作業内容を現在のブランチに組み込む際に用いる。 | 他ブランチの変更を統合し、一つの履歴にまとめる |
| Rebase(リベース) | ローカルリポジトリ内のブランチ同士 | 自分のブランチの履歴を、別のブランチ(例:main)の最新状態の上に付け替えて整理する。履歴を直線化し、後から見やすくする。 | – コミット履歴を「付け替える」ため、履歴(コミットID)が書き換わる。 – Push→Rebase→Pushすると他者と共有しているブランチでは混乱の原因になるため注意 – 自分専用のブランチや未共有のコミットを整理する際に有効。 – git pull --rebase として使うと、リモートの変更をマージせず直線的に取り込める。(マージコミットが発生しない分簡略化される) |
| Commit (コミット) | ワーキングディレクトリ → ローカルリポジトリ | 作業した変更内容を、1つの「履歴(スナップショット)」としてローカルに保存する。 | – コミットはリモートには送信されない(push するまで自分のPC内にとどまる)。– 1回のコミットは、論理的にまとまった単位(例:バグ修正1件、機能追加1件)が望ましい。 |
自分の変更がリモートに反映されるのは、
他者の変更を取り込んで統合(fetch/merge/pull/rebase)し、
変更を commit で記録して push したときです。
- Git Docs : 3.5 Git のブランチ機能 – リモートブランチ
https://git-scm.com/book/ja/v2/Git-%E3%81%AE%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81%E6%A9%9F%E8%83%BD-%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81
コメント