Git関係の用語まとめ
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