🌲

Git関係の用語まとめ

2025/01/20に公開

Git・GitHub関係で理解が怪しいところだけまとめます。


GitとGitHubの違い

Git

分散型バージョン管理システム。ソースコードや変更履歴を管理する。
主にコマンドラインを使用する。

複数人のユーザが独立して作業できる。自分のPC上でリポジトリを作成して作業し、その内容を後で統合する。

GitHub

Gitを使った作業を効率化するためのサービス。
Gitリポジトリをインターネット上で共有し、チーム開発を簡単にうするWebサービス。
コードの共有・レビューだけでなく、Issue管理やCI/CD(継続的インテグレーション/デプロイ)など、開発プロセス全体を支援するツールも提供。

ーーー

ブランチ

作業を分岐させるための機能。
ブランチ名は機能名にすることが多い。
開発が終了し、動作確認やレビューが完了したらメインのコード(mainまたはmasterブランチ)に統合(マージさせる)。
統合の際には「プルリクエスト」を使う。


コミット

1つのブランチに対して、変更履歴として記録する操作。
コミットを積む=変更履歴をどんどんブランチに足してく⇒完成したらプルリク⇒変更内容をマージし、一気にメインブランチに持っていく。


フェッチ (Fetch)

リモートリポジトリのコードと、ローカルリポジトリのコードを揃える。

リモートリポジトリ(GitHub上のリポジトリ)で他開発者が更新した作業を、
ローカルリポジトリにある追跡ブランチに反映させる。
ローカルの作業中のブランチには反映されない。

追跡ブランチ

リモートリポジトリの状態をローカルで追跡するための参照ブランチ。
ローカルの変更とは独立してリモートリポジトリの最新の状態を保存するためのもの。


プル(pull)

プルは、フェッチとマージを1つにまとめて行う。
リモートリポジトリの最新の状態を取得し、それをローカルの作業ブランチに統合もする。
(フェッチ後、自動的にマージする)
自動的にマージされるので、コンフリクト(競合)が発生する可能性がある。注意。

git pull origin main

上記は、「リモートリポジトリの main ブランチの変更を取得し、ローカルの main ブランチにマージする」という意味。


プルリク

プルリクエスト。
ブランチの変更を他ブランチ(mainや孫の場合その上のブランチ)に統合するためのリクエスト。
(GitHubや他のリモートサービス特有の機能。Git単体にはこの機能はない。)

プルリクすると、他の人からコメントやレビューを受けることができる。
マージする前にリクエストを送って、他の人に問題がないかチェックしてもらう。
再び直す⇒プルリク⇒他の人のチェック を繰り返して、最終的にマージする。

プルの前段階のリクエストだから、「プルリク=プルリクエスト」と呼ぶ。


Discussion