Gitとは
Gitは、ファイルの変更履歴を管理するバージョン管理システムです。Linus Torvalds(Linuxの開発者)によって2005年に開発されました。現在、ソフトウェア開発において最も広く使われているバージョン管理システムです。
Gitを使うメリット:
- 過去の任意の時点の状態に戻せる
- 誰が、いつ、何を変更したか履歴が残る
- 複数人で同時に開発できる(ブランチ機能)
- コードのバックアップになる
初期設定
Gitを使い始める前に、ユーザー情報を設定しましょう。この情報はコミット履歴に記録されます。
# ユーザー名を設定
git config --global user.name "あなたの名前"
# メールアドレスを設定
git config --global user.email "your.email@example.com"
# 設定を確認
git config --list
覚えるべき基本コマンド10選
1. git init - リポジトリの作成
新しいGitリポジトリを作成します。プロジェクトのルートディレクトリで一度だけ実行します。
# 新しいプロジェクトを開始
mkdir my-project
cd my-project
git init
# 結果: Initialized empty Git repository in /path/to/my-project/.git/
2. git clone - リポジトリのコピー
既存のリポジトリをローカルにコピーします。GitHubなどからプロジェクトを取得する際に使用します。
# GitHubからリポジトリをクローン
git clone https://github.com/username/repository.git
# 別のディレクトリ名でクローン
git clone https://github.com/username/repository.git my-folder
3. git status - 状態の確認
現在の作業状態を確認します。最も頻繁に使うコマンドの一つです。
git status
# 出力例:
# On branch main
# Changes not staged for commit:
# modified: index.html
# Untracked files:
# style.css
Untracked: まだGitで管理されていない新規ファイル
staged: コミット待ちのファイル
4. git add - 変更のステージング
変更をステージングエリアに追加します。コミットする内容を選択する段階です。
# 特定のファイルを追加
git add index.html
# 複数のファイルを追加
git add index.html style.css
# 変更された全ファイルを追加(よく使う)
git add .
# 対話的に追加(変更の一部だけ選択可能)
git add -p
5. git commit - 変更の記録
ステージングした変更を履歴として記録します。必ず意味のあるメッセージを付けましょう。
# コミットメッセージを付けてコミット
git commit -m "ヘッダーのデザインを修正"
# 詳細なメッセージを書きたい場合(エディタが開く)
git commit
# add と commit を同時に(追跡済みファイルのみ)
git commit -am "CSSの調整"
良いコミットメッセージの例:
- 「ログイン機能を実装」
- 「バグ修正: ボタンクリック時のエラーを解消」
- 「パフォーマンス改善: 画像の遅延読み込みを追加」
6. git push - リモートへ送信
ローカルのコミットをリモートリポジトリ(GitHub等)に送信します。
# 現在のブランチをリモートにプッシュ
git push
# 初回はブランチを追跡するように設定
git push -u origin main
# 特定のブランチをプッシュ
git push origin feature-branch
7. git pull - リモートから取得
リモートリポジトリの変更をローカルに取り込みます。チーム開発では必須のコマンドです。
# リモートの変更を取得してマージ
git pull
# 特定のブランチからプル
git pull origin main
# リベースでプル(履歴をきれいに保つ)
git pull --rebase
8. git branch - ブランチ操作
ブランチの作成、一覧表示、削除を行います。
# ブランチ一覧を表示
git branch
# 新しいブランチを作成
git branch feature-login
# ブランチを作成して切り替え
git checkout -b feature-login
# または(新しい方法)
git switch -c feature-login
# ブランチを削除
git branch -d feature-login
9. git switch / git checkout - ブランチ切り替え
ブランチを切り替えます。新しいGit(2.23以降)ではgit switchが推奨されています。
# ブランチを切り替え(新しい方法)
git switch main
git switch feature-login
# ブランチを切り替え(従来の方法)
git checkout main
10. git merge - ブランチの統合
別のブランチの変更を現在のブランチに統合します。
# mainブランチに切り替え
git switch main
# feature-loginブランチをマージ
git merge feature-login
# マージ後、不要なブランチを削除
git branch -d feature-login
基本的なワークフロー
日常的な開発では、以下のような流れでGitを使います。
最新の状態を取得
git pull でリモートの変更を取り込む
作業ブランチを作成
git switch -c feature-xxx で新しいブランチを作成
コードを変更
ファイルを編集して機能を実装
変更をコミット
git add . と git commit -m "メッセージ"
プッシュしてプルリクエスト
git push してGitHubでプルリクエストを作成
よくある失敗と対処法
間違ったファイルをaddしてしまった
# ステージングを取り消し(ファイルは変更されたまま)
git restore --staged ファイル名
# すべてのステージングを取り消し
git restore --staged .
直前のコミットメッセージを修正したい
# 直前のコミットメッセージを修正
git commit --amend -m "修正したメッセージ"
注意:git pushした後のコミットを修正するのは避けましょう。チームメンバーに影響を与える可能性があります。
変更を一時的に退避したい
# 変更を一時保存
git stash
# 保存した変更を復元
git stash pop
# 保存した変更の一覧
git stash list
まとめ
Gitは最初は難しく感じるかもしれませんが、日常的に使うコマンドは限られています。まずはadd→commit→push→pullの基本的な流れを覚えて、徐々にブランチ操作に慣れていきましょう。
練習のすすめ:当サイトの「DevType」でGitコマンドのタイピング練習ができます。コマンドを覚えながらタイピングも上達しましょう。
テクノロジーで人々の日常をより便利に。AI、プログラミング、Web開発に関する情報を発信しています。