採用情報|SKサービス株式会社

開発ツール入門 約10分で読めます

【Git入門】Gitとは?バージョン管理の基本をわかりやすく解説

「Gitって何?」「バージョン管理ってどういう意味?」

エンジニアなら必ず使うGit(ギット)。求人票でも「Git使用経験必須」という記載をよく見かけますよね。

この記事では、Gitの基本を身近な例えを使いながら、初心者にもわかりやすく解説します。

Gitとは?一言でいうと「タイムマシン付きのファイル管理」

Gitとは、ファイルの変更履歴を記録・管理するバージョン管理システムです。

身近な例えで言うと、「タイムマシン付きのファイル管理」です。

WordやExcelで作業していて、「昨日の状態に戻したい……」と思ったことはありませんか?普通のファイル管理では、「報告書_v1.docx」「報告書_v2.docx」「報告書_最終版.docx」「報告書_最終版_修正.docx」と、どんどんファイルが増えてしまいます。

Gitを使えば、1つのファイルのまま、過去の状態にいつでも戻れます。まるでタイムマシンのように、任意の時点の状態を復元できるのです。

Gitでできること

  • 変更履歴の記録:いつ、誰が、何を変更したかを記録
  • 過去の状態に戻る:任意の時点の状態を復元
  • 並行作業:複数人で同時に作業しても安全
  • 変更の統合:別々に行った変更を1つにまとめる
  • バックアップ:リモートサーバーに保存して安全に管理

なぜGitが必要なのか

プログラミングにおいて、Gitが必要な理由を見ていきましょう。

1. 変更履歴が追える

「このバグ、いつから発生してる?」「この機能、誰が追加した?」

Gitがあれば、すべての変更履歴を確認できます。問題が発生したときに、原因を特定しやすくなります。

2. 安心して実験できる

「新しい機能を試したいけど、失敗したら怖い……」

Gitがあれば、いつでも元の状態に戻せます。安心して新しいコードを試すことができます。

3. チーム開発ができる

複数人で同じプロジェクトを開発するとき、Gitがなければ大変です。誰かの変更を上書きしてしまったり、最新のコードがどれかわからなくなったりします。

Gitがあれば、各自が独立して作業し、後から変更を統合できます。

Gitの基本用語

Gitを理解するために、まず基本用語を押さえましょう。

用語 意味 例え
リポジトリ 変更履歴を保存する場所 プロジェクトフォルダ全体
コミット 変更を記録する操作 セーブポイントを作る
ブランチ 作業の分岐 パラレルワールド
マージ 分岐した作業を統合 パラレルワールドを合流
プッシュ ローカルの変更をリモートに送信 クラウドにアップロード
プル リモートの変更をローカルに取得 クラウドからダウンロード
クローン リポジトリをコピー プロジェクトを丸ごとダウンロード

リポジトリとは

リポジトリ(Repository)は、プロジェクトのファイルと変更履歴を保存する場所です。「レポジトリ」「レポ」「リポ」とも呼ばれます。

ローカルリポジトリとリモートリポジトリ

リポジトリには2種類あります。

  • ローカルリポジトリ:自分のPC上にあるリポジトリ
  • リモートリポジトリ:サーバー上にあるリポジトリ(GitHub、GitLabなど)
┌──────────────────┐      プッシュ      ┌──────────────────┐
│  ローカル         │  ─────────────→  │   リモート        │
│  リポジトリ       │                   │   リポジトリ      │
│  (自分のPC)      │  ←─────────────  │   (GitHub等)     │
└──────────────────┘      プル         └──────────────────┘

基本的な流れは、ローカルで作業し、変更をリモートにプッシュして共有します。

コミットとは

コミット(Commit)は、ファイルの変更を記録する操作です。ゲームでいう「セーブポイント」のようなものです。

コミットには以下の情報が含まれます。

  • 変更内容:どのファイルが、どのように変わったか
  • コミットメッセージ:何をしたかの説明
  • 作成者:誰がコミットしたか
  • 日時:いつコミットしたか
  • コミットID:一意の識別子(ハッシュ値)

良いコミットメッセージの書き方

コミットメッセージは、後から履歴を見たときにわかりやすいように書きましょう。

❌ 悪い例 ✅ 良い例
修正 ログイン画面のバリデーションエラー修正
更新 ユーザー一覧に検索機能を追加
fix 会員登録時のメール送信失敗を修正

JOIN US

SKサービスでエンジニアデビューしませんか?

未経験からエンジニアを目指す方を積極的に採用中。正社員雇用で安定した環境、最短3ヶ月で現場変更可能。

詳細はこちらから

ブランチとは

ブランチ(Branch)は、作業を分岐させる機能です。「パラレルワールド」のようなものと考えるとわかりやすいでしょう。

例えば、Webサイトを運営しているとき、「新機能を開発したい」と「バグを修正したい」という2つの作業があるとします。

ブランチを使えば、それぞれの作業を独立して進められます。

        ┌─ 機能開発ブランチ ─────●─────●
       /                              \
main ●──●──●──●────────────────────────●─→ マージ
       \                              /
        └─ バグ修正ブランチ ───●────●──

よく使われるブランチ名

  • main(またはmaster):本番用のブランチ
  • develop:開発用のブランチ
  • feature/○○:機能開発用のブランチ
  • fix/○○:バグ修正用のブランチ
  • hotfix/○○:緊急修正用のブランチ

ブランチのメリット

  • 安全に実験できる:mainブランチに影響を与えずに作業できる
  • 並行開発ができる:複数の機能を同時に開発できる
  • レビューしやすい:機能ごとに変更をまとめられる

マージとは

マージ(Merge)は、分岐したブランチを統合する操作です。パラレルワールドを「合流」させるイメージです。

機能開発が完了したら、その変更をmainブランチにマージして反映させます。

コンフリクト(競合)

複数人が同じ箇所を編集していると、マージ時にコンフリクト(競合)が発生することがあります。

<<<<<<< HEAD
const message = "こんにちは";
=======
const message = "Hello";
>>>>>>> feature/greeting

この場合、どちらの変更を採用するか、手動で解決する必要があります。

基本的なGitコマンド

よく使うGitコマンドを紹介します。

初期設定

# ユーザー名とメールアドレスを設定(最初に1回だけ)
git config --global user.name "あなたの名前"
git config --global user.email "your.email@example.com"

リポジトリの作成・取得

コマンド 説明
git init 新しいリポジトリを作成
git clone URL リモートリポジトリをコピー

基本操作

コマンド 説明
git status 現在の状態を確認
git add ファイル名 変更をステージングに追加
git add . すべての変更をステージングに追加
git commit -m “メッセージ” 変更をコミット
git log コミット履歴を表示
git diff 変更内容を表示

ブランチ操作

コマンド 説明
git branch ブランチ一覧を表示
git branch ブランチ名 新しいブランチを作成
git switch ブランチ名 ブランチを切り替え
git switch -c ブランチ名 ブランチを作成して切り替え
git merge ブランチ名 指定ブランチを現在のブランチにマージ

リモート操作

コマンド 説明
git push ローカルの変更をリモートに送信
git pull リモートの変更をローカルに取得
git fetch リモートの情報を取得(マージはしない)

GitとGitHubの違い

初心者がよく混同するのが、GitGitHubの違いです。

項目 Git GitHub
種類 バージョン管理システム Webサービス
役割 ファイルの変更履歴を管理 リモートリポジトリを提供
動作環境 ローカルPC クラウド(Web)
料金 無料(オープンソース) 基本無料(有料プランあり)
追加機能 なし Issue、Pull Request、Actionsなど

簡単に言うと、Gitはツールで、GitHubはGitを使うためのWebサービスです。

GitHubの他にも、GitLab、Bitbucket、Backlogなど、似たサービスがあります。

実際の作業フロー

Gitを使った一般的な作業フローを紹介します。

1. 個人での基本フロー

# 1. リポジトリを作成
git init

# 2. ファイルを作成・編集
(コードを書く)

# 3. 変更をステージングに追加
git add .

# 4. 変更をコミット
git commit -m "機能Aを実装"

# 5. リモートにプッシュ
git push origin main

2. チームでの開発フロー

# 1. 最新の状態を取得
git pull origin main

# 2. 作業用ブランチを作成
git switch -c feature/new-function

# 3. 作業してコミット
(コードを書く)
git add .
git commit -m "新機能を実装"

# 4. ブランチをプッシュ
git push origin feature/new-function

# 5. GitHubでPull Requestを作成
(Webブラウザで操作)

# 6. レビュー後、mainにマージ
(Webブラウザで操作)

2025年のGitトピック

Gitは継続的に進化しています。2025年の主なトピックを紹介します。

Git 2.52:新コマンド追加

2025年後半にリリースされたGit 2.52では、便利な新コマンドが追加されました。

  • git last-modified:ファイルの最終更新日時を簡単に取得
  • git repo:リポジトリのメタデータや構造情報を取得

git switchとgit restoreが安定版に

2019年に試験的に導入されたgit switchgit restoreが、約6年を経て正式に安定版となりました。従来のgit checkoutの機能を分割した、よりわかりやすいコマンドです。

  • git switch:ブランチの切り替え専用
  • git restore:ファイルの復元専用

内部のRust言語への移行開始

将来的な安全性向上に向けて、Gitの一部がRust言語で再実装され始めています。ユーザーへの影響はありませんが、長期的な品質向上が期待されます。

Git学習の次のステップ

Gitの基本を理解したら、以下のステップに進みましょう。

  1. Gitをインストールして、実際に触ってみる
  2. GitHubアカウントを作成して、リモートリポジトリを試す
  3. 簡単なプロジェクトでコミット・プッシュを練習
  4. ブランチを使った開発に挑戦
  5. Pull Requestの流れを体験
  6. チーム開発に参加(またはOSSへのコントリビュート)

まとめ

この記事で解説した内容をまとめます。

項目 ポイント
Gitとは ファイルの変更履歴を記録・管理するバージョン管理システム
リポジトリ 変更履歴を保存する場所(ローカル/リモート)
コミット 変更を記録する操作(セーブポイント)
ブランチ 作業を分岐させる機能(パラレルワールド)
マージ 分岐したブランチを統合する操作
Git vs GitHub Gitはツール、GitHubはWebサービス

Gitは、エンジニアとして働くうえで必須のスキルです。最初は難しく感じるかもしれませんが、実際に使いながら覚えていくのが一番です。まずは小さなプロジェクトで練習してみましょう。

JOIN US

SKサービスでエンジニアデビューしませんか?

未経験からエンジニアを目指す方を積極的に採用中。正社員雇用で安定した環境、最短3ヶ月で現場変更可能。

詳細はこちらから

SKサービスでは未経験からのエンジニア転職をサポート

SKサービス株式会社では、完全未経験からエンジニアを目指す方を積極採用しています。

正社員として安定した環境で働きながら、さまざまなプロジェクトで実践経験を積むことができます。受託開発も手掛けており、スキルアップに応じてキャリアの幅を広げていける環境です。

「GitやGitHubを実務で使えるようになりたい」「チーム開発を経験したい」という方、まずはお気軽にご相談ください。

この記事をシェア
JOIN US JOIN US JOIN US JOIN US JOIN US JOIN US JOIN US JOIN US

ENTRY

- エントリーはこちらから -

Page Top