📚

初心者でもわかる!Gitの基本操作とPull Requestの完全ガイド

に公開

1. はじめに

プログラミングを学び始めると、必ずと言っていいほど出会うのが「Git」です。「なんだか難しそう...」と思っている方も多いのではないでしょうか?

この記事では、Git初心者の方でも安心して学べるよう、基本操作からPull Requestまでを丁寧に解説します。

この記事で学べること

  • Gitの基本概念と必要性
  • 基本的なGitコマンドの使い方
  • ブランチを使った開発の流れ
  • Pull Requestの作成・レビューの方法

2. Gitを使うための準備

Gitを使うための準備をしていきましょう。

具体的には以下の準備が必要となります:

  • Gitのインストール
  • GitHubのアカウント作成
  • SSHアクセス設定
  • Gitの初期設定
    Mac、Windows向けにわかりやすい記事があるので、そちらを参考にご準備いただければと思います。

参考記事:【Windows】Gitの環境構築をしよう!(Progate)
Gitを使うための準備ができましたら、次章へ進みましょう!

3. Gitの基本概念

Gitの基本用語

リポジトリ(Repository)

プロジェクトのファイルとその変更履歴を保存する場所です。

ローカルリポジトリ

自分のPC上にあるリポジトリのことです。

リモートリポジトリ

ネットワーク上(GitHub、GitLabなど)にあるリポジトリのことです。複数の開発者が共有します。

コミット(Commit)

ファイルの変更を記録することです。コミット時にはメッセージを付けて、どのような変更を行ったかを記録します。

ブランチ(Branch)

開発の流れを分岐させる機能です。新機能の開発やバグ修正を、メインの開発ラインに影響を与えずに行えます。

4. Gitを使った基本的なプログラム管理の流れ

全体の流れ

各ステップの詳細説明

1. リポジトリをクローンor追加

GitHub上のリポジトリとローカルの関連付け
既存リポジトリのクローンまたは新規リポジトリのリモート追加

2. 作業用ブランチを作成

新機能開発やバグ修正用の作業ブランチを作成
メインブランチを守りながら安全に開発

3. Git.htmlを更新し、コミット

プログラムコードの作成・修正
ステージング(git add)とコミット(git commit)で変更を記録

4. ローカルレポジトリをリモートレポジトリに反映(push)

ローカルの変更をGitHub上に反映
チームメンバーと共有可能になる

★ プルリクエスト

作業ブランチの変更をメインブランチに取り込むための依頼
コードレビューとディスカッションの場

5. edit-gitリポジトリをmainブランチにマージ(merge)

レビュー完了後、プルリクエストをマージしてメインブランチに統合
新機能や修正内容が正式に取り込まれる

6. リモートレポジトリをローカルレポジトリに反映する(pull)

マージされた最新の状態をローカルに反映
他の開発者の変更も同時に取得

7. 不要なブランチを削除

作業完了したブランチをクリーンアップ
リポジトリを整理してメンテナンスしやすく保つ

この流れを理解したところで、具体的なコマンドを見てみましょう。

5. Git基本操作

リモートリポジトリの設定

新しいリポジトリを作成する場合:
#新しいフォルダでGitリポジトリを作成
mkdir my-project
cd my-project
git init
# GitHubで作成したリポジトリと関連付け
git remote add origin git@github.com:username/repository-name.git
既存のリポジトリをクローンする場合:
# GitHubからリポジトリをクローン
git clone git@github.com:username/repository-name.git
cd repository-name

ステージング

ファイルを編集した後、変更をステージングエリアに追加します:

# 特定のファイルをステージング
git add index.html

# 複数のファイルをステージング
git add index.html style.css script.js

# 全ての変更ファイルをステージング
git add .

# ステージング状況を確認
git status
ステージングエリアとは?
  • コミット前の「準備エリア」
  • どの変更をコミットに含めるかを選択できる
  • 必要な変更だけを選んでコミットできる

コミット

ステージングされた変更を正式に記録します:

# コミット(変更を記録)
git commit -m "Add: トップページのHTMLを追加"

# より詳細な説明を含むコミット
git commit -m "Fix: ログイン機能のバグを修正

- パスワード検証ロジックを改善
- エラーメッセージを日本語化
- テストケースを追加"

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

先頭に動作を表すプレフィックスを付ける

  • Add: 新機能追加
  • Fix: バグ修正
  • Update: 既存機能の更新
  • Remove: 不要な機能・ファイルの削除

ブランチ作成

新機能やバグ修正のための作業ブランチを作成:

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

# 新しいブランチを作成
git branch feature/user-login

# ブランチを切り替え
git checkout feature/user-login

# ブランチ作成と切り替えを同時に行う(推奨)
git checkout -b feature/user-login
リモートリポジトリにプッシュ

ローカルの変更をGitHub上に反映:

# 現在のブランチをリモートにプッシュ
git push origin feature/user-login

# 初回プッシュ時(上流ブランチを設定)
git push -u origin feature/user-login

# 以降は短縮形で可能
git push

履歴の確認

# コミット履歴を表示
git log

# 簡潔な履歴表示
git log --oneline

# グラフ形式で表示
git log --graph --oneline

6. ブランチ操作

ブランチとは?

ブランチは開発の「枝分かれ」を表します。メインの開発ライン(通常はmainやmasterブランチ)から分岐して、新機能の開発やバグ修正を行います。

ブランチを使うメリット:

  • メインのコードを壊すリスクを減らせる
  • 複数の機能を並行して開発できる
  • 実験的な変更を安全に試せる
ブランチの詳細操作
# ブランチ一覧を表示(ローカル)
git branch

# リモートブランチも含めて表示
git branch -a

# ブランチを削除(ローカル)
git branch -d feature/completed-feature

# 強制削除
git branch -D feature/experimental-feature

# リモートブランチを削除
git push origin --delete feature/old-feature

マージの基本

# mainブランチに切り替え
git checkout main

# 最新の状態に更新
git pull origin main

# featureブランチをマージ
git merge feature/user-login

# マージ後、不要なブランチを削除
git branch -d feature/user-login

7. Pull Request(PR)の流れ

Pull Requestとは?

Pull Request(GitHubでの呼び方、GitLabではMerge Request)は、自分の変更をメインブランチに取り込んでもらうための「お願い」です。

PRの基本的な流れ

1. ブランチを作成して作業
# メインブランチから新しいブランチを作成
git checkout main
git pull origin main
git checkout -b feature/add-login-form
2. 変更を加えてコミット
# ファイルを編集後
git add .
git commit -m "Add: ログインフォームを追加"
git push origin feature/add-login-form
3. GitHub上でPull Requestを作成
  • GitHubのリポジトリページにアクセス
  • 「Compare & pull request」ボタンをクリック
  • PRのタイトルと説明を記入
  • レビュワーを指定(チーム開発の場合)
  • 「Create pull request」をクリック
4. コードレビュー

レビュワーが以下を確認:

  • コードの品質
  • 仕様との整合性
  • テストの実行結果
  • セキュリティ面での問題
5. マージ

レビューが完了したら、PRをマージしてメインブランチに統合します。

良いPRの書き方

タイトルの例:

❌ 修正
✅ Fix: ログイン時のバリデーションエラーを修正

説明文に含めるべき内容:

  • 何を変更したか
  • なぜ変更したか
  • 影響範囲
  • テスト方法
## 変更内容
ログインフォームにバリデーション機能を追加

## 理由
ユーザーが不正な入力をした際のエラーハンドリングが不十分だったため

## 影響範囲
- login.html
- login.js
- login.css

## テスト方法
1. ログインページにアクセス
2. 空のフィールドで送信ボタンをクリック
3. エラーメッセージが表示されることを確認

8. まとめ

この記事では、Gitの基本操作からPull Requestまでの流れを解説しました。

重要なポイント

  • 決まった流れを覚える:リポジトリ設定→ブランチ作成→コミット→プッシュ→PR→マージ→pull→削除
  • 小さく頻繁にコミット:変更は小さな単位で記録
  • 意味のあるコミットメッセージ:後で見返した時に理解できる内容
  • ブランチを活用:メインブランチを守りながら安全に開発
  • 丁寧なPR:レビュワーが理解しやすい説明を心がける

次のステップ

  • Git Flowやother Flowなどのブランチ戦略を学ぶ
  • GitHub Actionsを使ったCI/CDを試す
  • チーム開発でのベストプラクティスを学ぶ

参考資料

Pro Git book(日本語版)
GitHub公式ドキュメント
Atlassian Git tutorials
Learn Git Branching(インタラクティブな学習サイト)
Git入門:初心者向けの基本操作と概念
【ゼロからわかる】Gitを使った開発の流れと基本操作

Discussion