ホーム
SQT
小単元とクイズで楽しくトレーニング

メインナビゲーション

  • ホーム
  • 受講チケット
  • 利用ガイド
    • 受講チケット
    • 講座と教材の利用
    • 教材検索
    • 企業団体向け機能
    • セキュリティについて
    • パートナー様向け機能
  • 記事一覧

Git とは何か:リポジトリとコミット

パンくず

  • ホーム
  • Git 入門講座(試用版)
  • Git とは何か:リポジトリとコミット
音声スライド (クリックで展開/閉じる)
スライドクリック& F キーで全画面、Esc で復帰、その他のショートカット

はじめに

  • 学ぶ内容:Git の特徴、リポジトリ、コミット
  • 目標:3 つの用語を自分の言葉で説明できるようになる

この単元では、Git の特徴、リポジトリ、コミットという 3 つの基本概念を学びます。学習を終える頃には、これらの用語を自分の言葉で説明できるようになることを目標とします。

前回の振り返り:集中型と分散型

  • 集中型:履歴はサーバのみが持つ
  • 分散型:各利用者の手元にも全履歴の複製がある
  • 前単元で学んだ 2 方式の違いを振り返る

前の単元では、履歴をサーバだけが持つ「集中型」と、各利用者の手元にも全履歴の複製がある「分散型」という 2 つの方式を学びました。この違いを踏まえて、Git がどちらの方式を採用しているかを見ていきます。

Git の特徴:分散型で高速

  • Git は「分散型」の「バージョン管理システム」
  • 手元に全履歴があるため動作が高速
  • 現在の業界標準として広く使われている

Git は分散型のバージョン管理システムです。手元の端末に全履歴の複製があるため、サーバへの問い合わせが少なく動作が高速です。また、現在では業界標準として広く使われています。

ブランチ作成が軽量な理由

  • Git では「ブランチ」の作成が瞬時に完了する
  • 詳しい仕組みはモジュール 5 で学ぶ
  • ここでは「作成コストが極めて小さい」特徴だけ覚える

Git のもう一つの特徴は、ブランチという枝分かれの仕組みを、ほとんどコストをかけずに作れることです。ブランチの詳しい仕組みは、後のモジュールで学びます。ここでは、作成コストが極めて小さいという特徴だけを覚えておいてください。

リポジトリとは何か

  • リポジトリ:ファイル群と全変更履歴を格納する入れ物
  • 作業対象の「ディレクトリ」と 1 対 1 で対応する
  • いわば「プロジェクト」の記録庫

リポジトリとは、ファイル群とその全ての変更履歴を格納する入れ物のことです。作業対象のディレクトリと 1 対 1 で対応し、いわばプロジェクトの記録庫のような存在です。

リポジトリと作業ディレクトリ

この図は、1 つの作業ディレクトリに対して 1 つのリポジトリが対応する様子を表しています。リポジトリはディレクトリの中に隠れた形で存在し、そのディレクトリの全履歴を記録しています。

コミットとは何か

  • コミット:ある時点の全体の状態を記録したもの
  • 「スナップショット」と呼ばれる
  • 変更のたびに新しいスナップショットを作る

コミットとは、ある時点でのファイル全体の状態を記録したものです。この記録はスナップショットと呼ばれます。ファイルを変更してコミットするたびに、新しいスナップショットが作られていきます。

コミットはスナップショット

  • よくある誤解:コミットは差分だけを保存している
  • 実際は、その時点の「全ファイル」の状態を記録する
  • 差分表示は、後から比較して計算しているだけ

初学者がよく誤解する点として、コミットは変更差分だけを保存していると考えてしまうことがあります。実際には、その時点の全てのファイルの状態を記録しています。差分として表示される内容は、2 つのコミットを後から比較して計算した結果に過ぎません。

スナップショットの並びを見る

この図は、コミットが連なっていく様子を表しています。それぞれのコミットの箱の中には、その時点の全てのファイルが入っています。差分だけを保存しているのではなく、コミットごとに全体の状態を持っていることが分かります。

まとめ

  • Git は「分散型」で高速、「ブランチ」作成も軽量
  • リポジトリはファイルと履歴の入れ物
  • コミットは差分ではなく「全体」のスナップショット

この単元では、Git の特徴、リポジトリ、コミットについて学びました。Git は分散型で高速に動作し、ブランチの作成コストも小さいという特徴があります。リポジトリはファイル群と全履歴を格納する入れ物であり、コミットは差分ではなく、その時点の全体の状態を記録したスナップショットです。

確認テスト

学んだ知識をクイズ問題でチェック!

すべての単元を見るには…

Git 入門講座

Git入門講座

開発実務の経験がないエンジニア志望者を想定した、Git によるバージョン管理の基礎を学ぶeラーニング講座です。9つのパートの解説と練習問題を通じて、Git の基礎を体系的に学ぶことができます。

受講チケットのお求めはこちら
  • 前の単元
  • 次の単元

2 / 9 単元

講座情報

Git 入門講座(試用版)

「Git 入門講座」のお試し用サンプル教材です。確認テストの試用にはログインが必要です。ユーザー登録は無料。詳しくは、利用ガイドをご覧ください。

 講座ページへ
Module 1: バージョン管理とGitの全体像
1 なぜバージョン管理が必要か
2 Git とは何か:リポジトリとコミット
3 Git と GitHub、そして全体像
4 【練習】バージョン管理と Git の全体像
Module 2: 環境準備と初期設定
5 Git を動かし、調べる
6 設定の 3 階層と本人情報
7 環境に合わせた設定
8 日本語環境・効率化・調べ方
9 【練習】環境を準備する

利用ガイド

  • はじめに
  • 受講チケットの購入
  • 講座と教材の利用
  • 教材検索
  • 企業団体向け機能
  • セキュリティについて
  • パートナー様向け機能
  • 利用ガイド
  • 特定商取引法に基づく表記
  • プライバシポリシー
  • 運営会社

SQT はシナジークエストが運営するオンラインIT学習サイトです。