GitHub入門|アカウント作成からプルリクエストまで
エンジニアとして働くうえで、GitHubはもはや避けて通れないツールです。実務での共同開発はもちろん、転職活動においてもGitHubアカウントは「エンジニアとしての名刺」のような役割を果たします。採用担当者がGitHubのプロフィールやリポジトリを確認するケースは年々増えており、ポートフォリオ作成においても、GitHubでソースコードを公開することは事実上の標準となっています。本記事では、GitHubをまったく触ったことがない方でも、アカウント作成からプルリクエストまでの一連の流れを理解できるよう、実際のコマンド例を交えながらステップバイステップで解説します。
GitHubとは?Gitとの違い
GitHubを理解するには、まず「Git」と「GitHub」の違いを押さえておくことが大切です。
Gitは、ファイルの変更履歴を記録・管理するための「バージョン管理ツール」です。ローカルのPC上で動作し、いつ・誰が・どのような変更を加えたかを正確に追跡できます。Gitがあることで、コードを以前の状態に戻したり、複数人の変更を統合したりといった作業が安全に行えます。
一方、GitHubはGitリポジトリをインターネット上でホスティングするためのWebサービスです。GitHubを使うことで、以下のようなことが可能になります。
- コードの共有・公開: 世界中の開発者とコードを共有できる
- 共同開発: 複数人が同じプロジェクトに安全に参加できる
- プルリクエスト: コードレビューの仕組みを通じて品質を担保できる
- Issue管理: バグ報告や機能要望をチケットとして管理できる
- CI/CD連携: GitHub Actionsでテストやデプロイを自動化できる
簡単にまとめると、Gitが「ツール」でGitHubが「サービス」です。Gitはコマンドラインで操作するローカルのソフトウェアであり、GitHubはそのGitリポジトリをクラウド上に置いて共同作業を円滑にするためのプラットフォームと考えるとわかりやすいでしょう。
Webエンジニアのロードマップでも触れていますが、Git/GitHubの操作スキルはエンジニアの基礎中の基礎です。早い段階で身につけておきましょう。
GitHubアカウントの作成手順
GitHubのアカウント作成は無料で、数分で完了します。以下の手順に沿って進めてください。
ステップ1: GitHubにアクセス
ブラウザで https://github.com にアクセスし、「Sign up」ボタンをクリックします。
ステップ2: 必要情報を入力
以下の情報を順番に入力します。
- メールアドレス: 普段使っているメールアドレスを入力
- パスワード: 15文字以上、または数字と小文字を含む8文字以上
- ユーザー名: 英数字とハイフンのみ使用可能。本名や覚えやすい名前がおすすめ
ユーザー名はGitHubのプロフィールURLに使われます(例: https://github.com/your-username)。転職活動でも使う可能性があるため、プロフェッショナルな印象を与えるものを選びましょう。
ステップ3: メール認証
登録したメールアドレスに届く認証コードを入力して、アカウントの有効化を行います。
ステップ4: Gitのインストールと初期設定
アカウント作成後、ローカルPCにGitをインストールします。Mac開発環境構築ガイドも参考にしてください。
Macの場合、Homebrewを使って以下のコマンドでインストールできます。
# Homebrewを使ったGitのインストール
brew install git
# インストール確認
git --version
# 出力例: git version 2.44.0
Windowsの場合は、Git公式サイトからインストーラーをダウンロードして実行します。
インストール後、ユーザー名とメールアドレスを設定します。
# ユーザー名の設定(GitHubのユーザー名と合わせると管理しやすい)
git config --global user.name "your-username"
# メールアドレスの設定(GitHubに登録したアドレスを使う)
git config --global user.email "your-email@example.com"
# 設定内容の確認
git config --global --list
ステップ5: SSH鍵の設定
GitHubとの接続をスムーズにするため、SSH鍵を設定しておきましょう。
# SSH鍵の生成(Ed25519が推奨)
ssh-keygen -t ed25519 -C "your-email@example.com"
# 鍵の保存場所を聞かれたらEnterでデフォルトのまま進める
# パスフレーズは任意で設定
# SSH-Agentに鍵を追加
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
# 公開鍵をクリップボードにコピー(Mac)
pbcopy < ~/.ssh/id_ed25519.pub
# 公開鍵をクリップボードにコピー(Windows Git Bash)
clip < ~/.ssh/id_ed25519.pub
コピーした公開鍵を、GitHubの「Settings」→「SSH and GPG keys」→「New SSH key」で登録します。接続テストを行い、正常に動作するか確認しましょう。
# SSH接続テスト
ssh -T git@github.com
# 出力例: Hi your-username! You've successfully authenticated, but GitHub does not provide shell access.
上記のメッセージが表示されれば、SSH接続の設定は完了です。
最初のリポジトリを作成する
アカウントとSSHの設定が完了したら、最初のリポジトリを作成してみましょう。リポジトリとは、プロジェクトのファイルやその変更履歴を保管する場所です。
GitHub上でリポジトリを作成する
- GitHubにログインし、右上の「+」アイコンから「New repository」を選択
- Repository nameに
my-first-repoと入力 - 「Public」を選択(公開リポジトリ)
- 「Add a README file」にチェックを入れる
- 「Create repository」をクリック
ローカルからリポジトリを作成してプッシュする
ターミナルからリポジトリを作成し、GitHubにプッシュすることも可能です。こちらの方法も覚えておきましょう。
# プロジェクト用のディレクトリを作成して移動
mkdir my-first-repo
cd my-first-repo
# Gitリポジトリとして初期化
git init
# READMEファイルを作成
echo "# My First Repository" > README.md
echo "GitHubの練習用リポジトリです。" >> README.md
# ファイルをステージングエリアに追加
git add README.md
# 最初のコミットを作成
git commit -m "Initial commit: READMEを追加"
# メインブランチの名前をmainに設定
git branch -M main
# GitHubのリモートリポジトリを紐付け(事前にGitHub上で空リポジトリを作成しておく)
git remote add origin git@github.com:your-username/my-first-repo.git
# リモートリポジトリにプッシュ
git push -u origin main
git push -u origin main の -u オプションは、上流ブランチを設定するものです。初回のプッシュ時にこれを付けておくと、次回以降は git push だけでプッシュできるようになります。
基本的なGitHub操作
ここからは、日常的に使うGitの基本操作をコマンド例とともに解説します。この一連のフローを身体で覚えることが、GitHub活用の第一歩です。
リポジトリをクローンする(clone)
既存のリポジトリをローカルにコピーするにはcloneを使います。
# SSHでクローン(推奨)
git clone git@github.com:your-username/my-first-repo.git
# HTTPSでクローン
git clone https://github.com/your-username/my-first-repo.git
# クローンしたディレクトリに移動
cd my-first-repo
変更をステージングする(add)
ファイルを編集した後、コミットしたいファイルを「ステージングエリア」に追加します。
# 特定のファイルをステージング
git add index.html
# 複数ファイルをまとめてステージング
git add index.html style.css script.js
# 変更されたすべてのファイルをステージング
git add .
# ステージングされたファイルを確認
git status
git add . は便利ですが、意図しないファイルまで追加してしまうリスクがあります。慣れないうちはファイル名を指定して追加するのがおすすめです。
変更を記録する(commit)
ステージングしたファイルの変更をリポジトリに記録します。
# コミットメッセージ付きでコミット
git commit -m "ヘッダーのデザインを修正"
# 変更内容を詳しく記述する場合(エディタが開く)
git commit
# 直前のコミットメッセージを修正(プッシュ前のみ)
git commit --amend -m "ヘッダーのレスポンシブデザインを修正"
コミットメッセージは、後から見返したときに何を変更したかわかるよう、簡潔かつ具体的に書きましょう。「修正」「更新」だけでは情報が不十分です。
リモートに反映する(push)
ローカルのコミットをGitHub上のリモートリポジトリに反映します。
# リモートリポジトリにプッシュ
git push origin main
# 上流ブランチ設定済みの場合
git push
# プッシュ前にリモートの状態を確認
git remote -v
リモートの変更を取り込む(pull)
他のメンバーがリモートリポジトリに加えた変更をローカルに取り込みます。
# リモートの変更を取得してマージ
git pull origin main
# 上流ブランチ設定済みの場合
git pull
# リモートの変更を確認だけする(マージはしない)
git fetch origin
git log origin/main --oneline
変更状況を確認するコマンド
作業中は以下のコマンドで、現在の状態をこまめに確認しましょう。
# 作業ディレクトリの状態を確認
git status
# コミット履歴を確認
git log --oneline
# コミット履歴をグラフ表示で確認
git log --oneline --graph --all
# ステージング前の変更差分を確認
git diff
# ステージング済みの変更差分を確認
git diff --staged
プルリクエストの作り方
プルリクエスト(Pull Request、通称PR)は、GitHubの最も重要な機能の一つです。自分の変更を他のメンバーにレビューしてもらい、問題がなければメインブランチに統合する、という流れを管理できます。
ステップ1: ブランチを作成する
作業はメインブランチで直接行わず、必ず新しいブランチを作成して行います。
# 新しいブランチを作成して切り替え
git checkout -b feature/add-about-page
# ブランチ一覧を確認(現在のブランチに*がつく)
git branch
# 出力例:
# main
# * feature/add-about-page
ブランチ名は feature/機能名 や fix/修正内容 のように、目的がわかる命名にするのが一般的です。
ステップ2: 変更を加えてコミットする
# ファイルを作成・編集
echo "<!DOCTYPE html><html><head><title>About</title></head><body><h1>About Page</h1></body></html>" > about.html
# 変更をステージング
git add about.html
# コミット
git commit -m "Aboutページを追加"
ステップ3: リモートにプッシュする
# 作成したブランチをリモートにプッシュ
git push -u origin feature/add-about-page
ステップ4: GitHubでプルリクエストを作成する
プッシュ後、GitHubのリポジトリページにアクセスすると「Compare & pull request」というボタンが表示されます。
- 「Compare & pull request」をクリック
- タイトルに変更内容を簡潔に記載(例: 「Aboutページの追加」)
- 本文に変更の詳細、背景、確認してほしいポイントを記載
- 「Create pull request」をクリック
GitHub CLIを使えば、ターミナルからPRを作成することも可能です。
# GitHub CLIのインストール(Mac)
brew install gh
# GitHub CLIでログイン
gh auth login
# プルリクエストを作成
gh pr create --title "Aboutページの追加" --body "Aboutページを新規作成しました。デザインのレビューをお願いします。"
# プルリクエストの一覧を確認
gh pr list
# プルリクエストの詳細を確認
gh pr view 1
ステップ5: レビューとマージ
レビュアーからのフィードバックに対応し、修正が必要な場合は同じブランチで追加コミットをプッシュします。
# レビュー指摘を修正
git add about.html
git commit -m "レビュー指摘に対応: メタ情報を追加"
git push
レビューが承認されたら、GitHub上の「Merge pull request」ボタンでマージします。マージ後、ローカルのブランチも整理しておきましょう。
# メインブランチに戻る
git checkout main
# リモートの変更を取り込む
git pull origin main
# マージ済みのブランチを削除
git branch -d feature/add-about-page
GitHubプロフィールを充実させる
GitHubは単なる開発ツールではなく、エンジニアとしてのポートフォリオの一部です。ポートフォリオ作成術でも解説していますが、GitHubのプロフィールを充実させることで、転職やフリーランス案件獲得で有利に働きます。
プロフィール用READMEを作成する
GitHubでは、自分のユーザー名と同じ名前のリポジトリを作成し、そこにREADME.mdを置くことで、プロフィールページにその内容が表示されます。
# プロフィール用リポジトリを作成(ユーザー名と同じ名前にする)
mkdir your-username
cd your-username
git init
# プロフィール用READMEを作成
cat > README.md << 'EOF'
# Hi there 👋
## About Me
- 🔭 Webアプリケーション開発に取り組んでいます
- 🌱 React / TypeScript / Next.js を学習中
- 💬 フロントエンド開発について気軽に聞いてください
## Tech Stack



## GitHub Stats

EOF
git add README.md
git commit -m "プロフィールREADMEを作成"
git branch -M main
git remote add origin git@github.com:your-username/your-username.git
git push -u origin main
リポジトリをピン留めする
GitHubプロフィールページには、最大6つのリポジトリをピン留めできます。以下のポイントを意識して選びましょう。
- 完成度の高いプロジェクト: READMEが充実しており、動作するデモがあるもの
- 技術スタックが伝わるもの: 使用技術やアーキテクチャが明確なもの
- 継続的にメンテナンスしているもの: 直近のコミットがあるもの
コントリビューション(草)を育てる
GitHubのプロフィールに表示される緑のマス(通称「草」)は、日々のコミット活動を視覚化したものです。継続的にコミットしていることは、学習意欲や開発習慣のアピールにつながります。
草を増やすための実践的なコツをいくつか紹介します。
- 毎日少しでもコードを書く: 小さな変更でもOK。学習記録やメモでも構わない
- 個人プロジェクトを持つ: 自分のアイデアを形にするリポジトリを作る
- OSS(オープンソースソフトウェア)に貢献する: ドキュメントの修正など、小さな貢献から始める
プログラミングの効率的な勉強法で紹介しているように、学んだことをコードとしてGitHubにアウトプットする習慣をつけると、スキルアップとGitHubプロフィールの充実を同時に実現できます。
リポジトリのREADMEを充実させる
各リポジトリのREADME.mdは、プロジェクトの「顔」です。以下の要素を含めましょう。
# プロジェクト名
## 概要
このプロジェクトの目的と概要を1-2文で説明。
## デモ
デモサイトのURLやスクリーンショットを掲載。
## 使用技術
- フロントエンド: React, TypeScript, Tailwind CSS
- バックエンド: Node.js, Express
- データベース: PostgreSQL
- インフラ: Vercel, Docker
## セットアップ手順
以下のコマンドでローカル環境をセットアップできます。
# リポジトリをクローン
git clone git@github.com:your-username/project-name.git
cd project-name
# 依存パッケージのインストール
npm install
# 環境変数の設定
cp .env.example .env
# 開発サーバーの起動
npm run dev
README内にセットアップ手順を丁寧に書いておくことで、レビュアーやリクルーターが実際にプロジェクトを試す際のハードルが大きく下がります。
よくある質問
Q1. GitHubは無料で使えますか?
はい、GitHubは無料プランで十分に使えます。パブリックリポジトリは無制限に作成でき、プライベートリポジトリも無料プランで作成可能です。GitHub Actionsも月2,000分まで無料で利用できます。有料プラン(GitHub Pro)はより高度な機能やストレージが必要な場合に検討すればよく、個人の学習や転職活動の範囲であれば無料プランで問題ありません。
Q2. GitとGitHubは別々にインストールが必要ですか?
Gitはローカルにインストールが必要なソフトウェアです。一方、GitHubはWebサービスなので、ブラウザからアクセスするだけで使えます。ただし、ローカルからGitHubにコードをプッシュするにはGitのインストールが必須です。Macの場合は brew install git、Windowsの場合はGit公式サイトからインストーラーをダウンロードしてインストールしてください。
Q3. コミットを間違えた場合、取り消せますか?
はい、状況に応じて複数の方法があります。まだプッシュしていない場合は git reset で取り消せます。
# 直前のコミットを取り消し(変更内容はステージングに戻す)
git reset --soft HEAD~1
# 直前のコミットを取り消し(変更内容はワーキングディレクトリに戻す)
git reset --mixed HEAD~1
# すでにプッシュ済みの場合は、打ち消しコミットを作成
git revert HEAD
プッシュ済みのコミットに対しては git revert で打ち消しコミットを作成するのが安全です。git push --force は他のメンバーに影響を与える可能性があるため、個人リポジトリ以外では慎重に使いましょう。
Q4. プルリクエストでコンフリクトが発生したらどうすればいいですか?
コンフリクト(競合)は、同じファイルの同じ箇所が異なる変更を受けた場合に発生します。以下の手順で解消できます。
# mainブランチの最新を取り込む
git checkout main
git pull origin main
# 作業ブランチに戻る
git checkout feature/add-about-page
# mainブランチの変更を作業ブランチにマージ
git merge main
# コンフリクトが発生したファイルを確認
git status
# エディタでコンフリクト箇所を手動修正
# <<<<<<< HEAD と >>>>>>> main の間のコードを整理する
# 修正後、ステージングしてコミット
git add .
git commit -m "mainブランチとのコンフリクトを解消"
git push
Q5. GitHubのプロフィールは転職活動でどのくらい見られますか?
エンジニア採用において、GitHubのプロフィールを確認する企業は増えています。特にWeb系企業やスタートアップでは、書類選考の段階でGitHubのリンクを求められることがあります。コードの品質、コミットの習慣、READMEの書き方などから、その人の技術力や開発姿勢を判断する材料になります。必須ではありませんが、GitHubのプロフィールが充実していれば、未経験からの転職でも大きなアドバンテージとなるでしょう。
まとめ
本記事では、GitHubのアカウント作成から基本操作、プルリクエストの作り方、プロフィールの充実まで一通り解説しました。ここで紹介した内容のポイントを振り返ります。
- Gitはバージョン管理ツール、GitHubはGitのホスティングサービスで、それぞれ役割が異なる
- アカウント作成後はSSH鍵を設定して、安全かつスムーズにリモートリポジトリと連携する
- clone → add → commit → push → pull の基本フローを繰り返して身体で覚える
- プルリクエストはブランチ作成→変更→PR作成→レビュー→マージという流れで進める
- プロフィールREADME、ピン留め、草(contributions) を意識してGitHubを「エンジニアとしての名刺」にする
GitHubの操作は最初こそ覚えることが多く感じますが、実際に手を動かして使い続ければすぐに慣れます。まずは個人のリポジトリを作成して、毎日少しずつコミットする習慣をつけることから始めてみてください。
GitHubを使いこなせるようになれば、Webエンジニアのロードマップで示されているようなスキルの習得も効率的に進められます。実際のプロジェクトで使える実践力を身につけて、エンジニアとしてのキャリアを前進させましょう。
この記事を書いた人
エンジニア転職ラボ編集部
編集長
学生時代からWebサービスを複数運営し、大手Web系企業にてフルスタックエンジニアとして従事。その後フリーランスとして独立し、5年以上にわたり常時複数社のプロジェクトに参画。未経験エンジニアのメンタリング経験を通じて、正確な転職情報の必要性を実感し、エンジニア転職ラボを設立。