Gitの基本概念とワークフロー
Gitは、ファイルの変更履歴を管理する分散型バージョン管理システムです。Gitを効率的に使いこなすためには、まず「ワークツリー(作業ディレクトリ)」「ステージングエリア(インデックス)」「ローカルリポジトリ」「リモートリポジトリ」という4つの領域のつながりを理解することが重要です。
作業スペースで変更したファイルは、まずステージングエリアに登録され、その後ローカルリポジトリに記録(コミット)されます。そして、最終的にその変更を共有サーバー(GitHubなど)のリモートリポジトリへ送信(プッシュ)します。この流れを意識しながら、各コマンドの役割を見ていきましょう。
最頻出のGit基本コマンド一覧
1. プロジェクトの開始と複製(init, clone)
新しくGitリポジトリを作成する場合や、既存のリモートリポジトリをローカルに複製する場合は以下のコマンドを使用します。
# 新規リポジトリの初期化
git init
# リモートリポジトリのクローン(複製)
git clone <リポジトリのURL>2. 変更の記録(status, add, commit)
ファイルの作成や編集を行ったら、その変更をリポジトリに記録します。
# 現在の変更ステータスを確認する
git status
# 特定のファイルをステージングエリアに追加する
git add index.html
# すべての変更ファイルを一括でステージングエリアに追加する
git add .
# メッセージを付けてコミット(履歴の記録)を行う
git commit -m "feat: トップページのレイアウトを作成"ポイント:コミットメッセージは「何を変更したか」が第三者にも一目で伝わるよう、簡潔かつ具体的に記述しましょう。
3. リモートリポジトリとの同期(push, pull, fetch)
複数人で開発を行う際や、バックアップとしてGitHub等にコードをアップロードする際は、リモートリポジトリとの同期を行います。
# ローカルの変更をリモートリポジトリに送信する
git push origin main
# リモートリポジトリの最新の変更を取り込んでマージする
git pull origin main
# リモートリポジトリの最新情報を取得する(ワークツリーには反映しない)
git fetch origin4. 履歴の確認(log)
これまでのコミット履歴を確認したいときは、以下のコマンドを使用します。
# 過去のコミット履歴を一覧表示する
git log
# 履歴を1行でシンプルに表示する
git log --onelineGit操作を安全に行うためのベストプラクティス
- こまめにコミットする:一つのコミットには一つの意味(タスク)だけを含めるようにすると、バグが発生した際の切り分けが容易になります。
- 作業用ブランチを作成する:メインのコードベース(main/masterブランチ)で直接作業せず、機能ごとに専用のブランチを作成して開発を行いましょう。
- プッシュ前にプルする:他の開発者の変更と競合(コンフリクト)するのを防ぐため、プッシュする前には必ずリモートの最新状態を手元にプルして確認する習慣をつけましょう。