Git初心者のための実践チュートリアル

🎯 このチュートリアルの目標

このチュートリアルを完了すると、以下のことができるようになります:

  • Gitの基本概念を理解する
  • Git Bashでファイルのバージョン管理ができる
  • チーム開発の基本的な流れを理解する

📚 第1章:Gitって何?

Gitとは?

Gitは、コンピュータのファイルの変更履歴を記録・追跡するためのツールです。

身近な例で理解しよう

  • レポートを書く時レポート_v1.docx, レポート_v2.docx, レポート_最終版.docx, レポート_本当の最終版.docx
  • Gitを使うと:1つのファイルで全ての変更履歴を管理できる!

Gitの主な機能

  1. バージョン管理:「いつ」「誰が」「何を」変更したかを記録
  2. 履歴の確認:過去の状態に戻すことができる
  3. チーム開発:複数人で同じファイルを編集しても衝突を防げる

🏗️ 第2章:Gitの基本構造

重要な場所を覚えよう

💻 あなたのPC 🔄 操作 ☁️ インターネット上
ワークツリー
(作業フォルダ)
add → リモートリポジトリ
(GitHub等)
インデックス
(準備エリア)
commit →
ローカルリポジトリ
(履歴保存庫)
push/pull ↔

基本用語の説明

用語説明例え
ワークツリー実際にファイルを編集する場所机の上
インデックスコミット前の準備エリア提出前の下書き置き場
ローカルリポジトリ自分のPCの履歴保存庫個人の日記帳
リモートリポジトリインターネット上の共有保存庫みんなで見る掲示板

🔧 第3章:Git Bashのインストールと設定

インストール手順

  1. ダウンロード
  2. インストール
    • ダウンロードしたファイルを実行
    • 基本的に全て「Next」で進めてOK
  3. 動作確認 git --version

初期設定(必須)

# あなたの名前を設定(例:山田太郎)
git config --global user.name "山田太郎"

# あなたのメールアドレスを設定
git config --global user.email "yamada@example.com"

# 設定確認
git config --global --list

📝 第4章:実践!初めてのGit操作

🏁 プロジェクト1:個人の日記を管理してみよう

ステップ1:作業フォルダの作成

# デスクトップに移動
cd ~/Desktop

# 新しいフォルダを作成
mkdir my-diary

# フォルダに移動
cd my-diary

# Gitリポジトリとして初期化
git init

ステップ2:最初のファイルを作成

# 日記ファイルを作成
touch diary.txt

# ファイルに内容を書き込み(エディタが開きます)
vi diary.txt

viエディタの使い方:

  1. iを押して編集モード開始
  2. 以下の内容を入力: 2025年6月1日今日からGitを学び始めました。バージョン管理がとても便利そうです!
  3. Escで編集モード終了
  4. :wqで保存して終了

ステップ3:変更を記録しよう

# 現在の状態を確認
git status

# ファイルをインデックスに追加
git add diary.txt

# 状態を再確認
git status

# コミット(変更を記録)
git commit -m "初回の日記を追加"

# 履歴を確認
git log

ステップ4:日記を更新してみよう

# 日記ファイルを編集
vi diary.txt

以下を追加:

2025年6月2日
昨日に続いてGitの学習を進めています。
addとcommitの違いがわかってきました。

# 変更箇所を確認
git diff

# 変更をコミット
git add diary.txt
git commit -m "2日目の日記を追加"

# 履歴を確認
git log --oneline

🌟 プロジェクト2:ブランチで実験してみよう

ブランチとは?

ブランチは、メインの作業から分岐して実験的な変更を行うための機能です。

main    ●─●─●─●  ← メインの作業
         \   /
feature   ●─●    ← 実験的な機能

ブランチの実践

# 現在のブランチを確認
git branch

# 新しいブランチを作成
git branch experiment

# ブランチ一覧を確認
git branch

# 実験ブランチに切り替え
git checkout experiment

# 実験的な内容を追加
vi diary.txt

以下を追加:

【実験的な機能】
今日の天気:晴れ
気分:⭐⭐⭐⭐⭐

# 実験的な変更をコミット
git add diary.txt
git commit -m "実験:天気と気分を追加"

# mainブランチに戻る
git checkout main

# ファイルの内容を確認(実験的な内容は見えない)
cat diary.txt

# 実験ブランチに再度切り替え
git checkout experiment

# ファイルの内容を確認(実験的な内容が見える)
cat diary.txt

🤝 第5章:チーム開発を体験しよう(GitHub連携)

GitHub アカウントの準備

  1. GitHubでアカウント作成
  2. 新しいリポジトリを作成
    • Repository name: my-diary
    • Public を選択
    • 「Create repository」をクリック

リモートリポジトリとの連携

# GitHubのリポジトリと連携
git remote add origin https://github.com/あなたのユーザー名/my-diary.git

# ローカルの変更をGitHubにアップロード
git push -u origin main

他の人との協力(シミュレーション)

# GitHubから最新の変更を取得
git pull origin main

# 新しい機能ブランチを作成
git checkout -b add-weather-info

# 天気情報を追加
vi weather.txt

以下の内容を入力:

今日の天気情報
===============
日付: 2025年6月1日
天気: 晴れ
気温: 25度
湿度: 60%

# 変更をコミットしてプッシュ
git add weather.txt
git commit -m "天気情報ファイルを追加"
git push origin add-weather-info

🚨 第6章:よくある問題と解決法

問題1:コミットメッセージを間違えた

# 直前のコミットメッセージを修正
git commit --amend -m "正しいメッセージ"

問題2:ファイルの変更を取り消したい

# ワークツリーの変更を取り消し
git checkout -- ファイル名

# インデックスに追加した変更を取り消し
git reset ファイル名

問題3:間違ったブランチで作業してしまった

# 変更内容を一時的に保存
git stash

# 正しいブランチに移動
git checkout 正しいブランチ名

# 保存した変更を復元
git stash pop

📋 第7章:実践的なワークフロー

チーム開発の基本フロー

# 1. 作業開始前に最新を取得
git pull origin main

# 2. 新機能用のブランチを作成
git checkout -b feature/新機能名

# 3. 開発作業
# ファイルを編集...

# 4. 変更をコミット
git add .
git commit -m "機能: 新機能の説明"

# 5. リモートにプッシュ
git push origin feature/新機能名

# 6. GitHubでプルリクエストを作成

# 7. レビュー後、mainブランチにマージ

# 8. ローカルのmainブランチを更新
git checkout main
git pull origin main

# 9. 不要なブランチを削除
git branch -d feature/新機能名

🎉 まとめ:Git習得のロードマップ

あなたが今できるようになったこと ✅

  • [x] Gitの基本概念を理解
  • [x] ローカルリポジトリでファイル管理
  • [x] ブランチを使った並行開発
  • [x] GitHubとの連携
  • [x] 基本的なチーム開発フロー

次のステップ 🚀

  1. GitHub Actionsの学習:自動テスト・デプロイ
  2. GitFlowの理解:より高度なブランチ戦略
  3. マージとリベースの深い理解
  4. コンフリクト解決の練習

📖 よく使うコマンド一覧

基本コマンド

コマンド説明
git status現在の状態を確認
git add ファイル名ファイルをインデックスに追加
git add .全ての変更をインデックスに追加
git commit -m "メッセージ"変更をコミット
git logコミット履歴を表示
git diff変更差分を表示

ブランチ操作

コマンド説明
git branchブランチ一覧を表示
git branch ブランチ名新しいブランチを作成
git checkout ブランチ名ブランチを切り替え
git checkout -b ブランチ名ブランチ作成と切り替えを同時実行
git branch -d ブランチ名ブランチを削除

リモート操作

コマンド説明
git clone URLリモートリポジトリをクローン
git push origin ブランチ名リモートにプッシュ
git pull origin ブランチ名リモートから取得・マージ
git fetchリモートから取得(マージしない)

🎓 おめでとうございます!
あなたはGitの基本をマスターしました。これからはチームでの開発や、より複雑なプロジェクトでGitを活用していきましょう!