Git基礎 - バージョン管理の仕組み
学習目標
この章を読み終える頃には、Gitの基本概念を理解し、「バージョン管理」とは何かが明確になります。また、GitHubで自分専用のリポジトリを作成し、基本的な設定を完了できるようになります。
Git の3つのエリア
バージョン管理の基本概念
Gitは、ファイルの変更を3つの段階で管理します。この概念を理解することが、Git習得の第一歩です。
1. Working Directory(作業ディレクトリ)
あなたが実際にファイルを編集している場所です。普通のフォルダと同じように、ファイルを作成・編集・削除できます。
2. Staging Area(ステージングエリア)
「次のコミットに含めたい変更」を一時的に保管する場所です。作業ディレクトリでの変更を、選択的にステージングエリアに追加できます。
3. Repository(リポジトリ)
変更履歴が永続的に保存される場所です。コミットされた変更は、ここに記録されます。
3つのエリアの関係
Working Directory → Staging Area → Repository
(編集) (git add) (git commit)
具体例で理解しよう:
- ファイルを編集(Working Directory)
index.html
に新しい段落を追加style.css
の色を変更
- 変更を選択(Staging Area)
index.html
の変更はコミットに含めたい →git add index.html
style.css
の変更はまだ実験中 → ステージしない
- 変更を記録(Repository)
- ステージした
index.html
のみをコミット →git commit
- ステージした
この仕組みにより、「すべての変更をまとめてコミット」ではなく、「関連する変更だけを論理的な単位でコミット」できます。
リポジトリの作成と基本操作
新しいリポジトリの作成手順
Step 1: GitHubにログイン
- https://github.com にアクセス
- 作成したアカウントでログイン
- ダッシュボード画面が表示されることを確認
Step 2: 新規リポジトリ作成
- 画面右上の「+」ボタンをクリック
- ドロップダウンメニューから「New repository」を選択
- リポジトリ作成画面が開く
Step 3: リポジトリの基本情報を入力
Repository name(リポジトリ名) 良い名前の例:
my-first-website
(私の最初のWebサイト)learning-html-css
(HTML・CSS学習用)personal-portfolio
(個人ポートフォリオ)javascript-practice
(JavaScript練習用)
Description(説明文) 例:
- “My first HTML/CSS website for learning web development”
- “Personal portfolio website showcasing my projects”
- “Practice repository for JavaScript fundamentals”
Step 4: 公開設定の選択
Public(公開)vs Private(非公開)
Public(公開)を選ぶべき場合:
- 学習成果を公開したい
- ポートフォリオとして活用したい
- オープンソースプロジェクトとして共有したい
Private(非公開)を選ぶべき場合:
- 個人的な練習・実験
- 機密性の高い内容
- 公開する準備ができていない
Step 5: 初期ファイルの設定
README.md ✅ チェックを入れることを推奨 プロジェクトの説明文書が自動生成されます。
.gitignore プログラミング言語を選択すると、不要なファイルを自動的に無視する設定が追加されます。
License オープンソースプロジェクトの場合に選択します。初心者は「None」で問題ありません。
コミットの概念と実践
コミットとは何か
コミットは「プロジェクトの特定時点でのスナップショット」です。以下の情報が記録されます:
- 変更内容:どのファイルが、どのように変更されたか
- 変更者:誰が変更したか
- 変更日時:いつ変更したか
- コミットメッセージ:なぜ変更したか
良いコミットメッセージの書き方
基本原則:
- 1行目:変更内容を簡潔に(50文字以内)
- 2行目:空行
- 3行目以降:詳細な説明(必要に応じて)
良い例:
Add navigation menu to header
- Add responsive navigation bar
- Include links to all main pages
- Implement mobile hamburger menu
悪い例:
Update files
コミット頻度の考え方
適切なコミット頻度:
- 小さな機能単位でコミットする
- 論理的にまとまった変更をまとめる
- 動作する状態でコミットする
例:Webサイトのヘッダーを作成する場合
Add basic HTML structure for header
Style header with CSS
Add responsive design for mobile
Implement navigation menu functionality
ブランチの基本概念
ブランチとは
ブランチは、メインの開発ラインから分岐して、並行して作業を進める仕組みです。
メリット:
- メインコードに影響を与えずに実験できる
- 複数の機能を同時に開発できる
- 安全に新機能をテストできる
基本的なブランチ操作
新しいブランチの作成:
git branch feature-new-design
git checkout feature-new-design
または、作成と切り替えを同時に:
git checkout -b feature-new-design
ブランチの一覧確認:
git branch
メインブランチに戻る:
git checkout main
ブランチの活用例
シナリオ:個人ブログのデザインを変更したい
- mainブランチ:現在公開中の安定版
- design-updateブランチ:新しいデザインを試す
- mobile-optimizationブランチ:モバイル対応を改善
各ブランチで独立して作業し、完成したものからmainブランチに統合(マージ)します。
実習:最初のリポジトリを作成しよう
実習課題
以下の手順で、あなたの最初のリポジトリを作成してください:
- リポジトリ名:
my-github-learning
- 説明文:「Learning GitHub basics step by step」
- 公開設定:Public
- README.md:✅ 追加する
- .gitignore:なし
- License:なし
作成後の確認項目
✅ リポジトリページが正常に表示される
✅ README.mdが作成されている
✅ リポジトリのURLをブラウザで開ける
✅ 「Create new file」ボタンが表示される
次のステップ
リポジトリの作成が完了したら、次の章でREADME.mdファイルを編集し、ファイルの追加・変更の基本操作を学習します。
まとめ
この章では、Gitの基本概念について学習しました:
- 3つのエリア:Working Directory、Staging Area、Repository
- コミット:変更履歴の記録単位
- ブランチ:並行開発のための分岐機能
- リポジトリ作成:GitHubでのプロジェクト開始方法
これらの概念は、最初は複雑に感じるかもしれません。しかし、実際に操作を重ねることで、自然と理解が深まります。
次の章では、実際にファイルを編集・追加し、コミット操作を体験してみましょう。
理解度確認:
□ Gitの3つのエリアを説明できる
□ コミットの役割を理解している
□ ブランチの基本概念を把握している
□ GitHubでリポジトリを作成できる
□ 良いコミットメッセージの書き方を理解している