GitHub

ギットハブ

概要

GitHubとは、「ソースコードをバージョン管理し、世界中の開発者と共有・協力できるプラットフォーム」です。

想像してみてください。あなたが小説を書いていて、 「昨日の版に戻したい」「友達に添削してもらいたい」「複数人で共同執筆したい」 と思ったとき、どうしますか?

GitHubは、プログラムのコードでまさにこれを実現します。過去のバージョンを保存し、変更履歴を追跡し、複数人で協力して開発できる環境を提供してくれるのです。

💡 豆知識:GitHubは2008年に誕生し、2018年にMicrosoftに買収されました。 現在、世界中で1億人以上の開発者が利用しています。

GitとGitHubの違い

よく混同されますが、GitとGitHubは別物です:

項目GitGitHub
種類バージョン管理システム(ソフトウェア)Gitを使ったホスティングサービス(Webサービス)
場所あなたのパソコン(ローカル)クラウド(インターネット上)
役割コードの履歴を記録・管理コードを保存・共有・協力
イメージノート(記録ツール)図書館(保管・共有の場)

つまり、Gitという道具を使って、GitHubという場所にコードを保存・共有するイメージです。

GitHubの基本用語

リポジトリ(Repository)

プロジェクトのコードやファイルをまとめて保管する「箱」のようなものです。 1つのプロジェクトに対して1つのリポジトリを作ります。

コミット(Commit)

コードの変更を記録することです。 「この日のこの時点でこんな変更をした」という履歴が残ります。

git commit -m "ログイン機能を追加"

プッシュ(Push)

ローカル(自分のパソコン)の変更を、 GitHub(クラウド)にアップロードすることです。

git push origin main

プル(Pull)

GitHub上の最新の変更を、ローカルにダウンロードすることです。 チームメンバーの変更を取り込むときに使います。

git pull origin main

ブランチ(Branch)

コードの「枝分かれ」です。 本番用のmainブランチとは別に、 新機能開発用のfeatureブランチを作ることで、 本番に影響を与えずに開発できます。

プルリクエスト(Pull Request)

「この変更を本番に反映してください」とお願いする機能です。 レビューを経てからマージ(統合)されます。

GitHubの使い方(基本的な流れ)

1. リポジトリを作成

GitHubのWebサイトで「New repository」をクリック

  • リポジトリ名を入力(例:my-first-project
  • Public(公開)かPrivate(非公開)かを選択
  • 「Create repository」をクリック

2. ローカルで開発

# リポジトリをクローン(ダウンロード)
git clone https://github.com/username/my-first-project.git

# ディレクトリに移動
cd my-first-project

# ファイルを編集
# ... コードを書く ...

# 変更を記録
git add .
git commit -m "初めてのコミット"

3. GitHubにプッシュ

# GitHubにアップロード
git push origin main

これで、あなたのコードがGitHub上に公開されます!

GitHubの便利な機能

Issues(イシュー)

バグ報告や機能要望を管理する掲示板のようなものです。 タスク管理にも使えます。

GitHub Actions

コードをpushしたときに自動的にテストを実行したり、Vercelにデプロイしたりできる自動化機能です。

GitHub Pages

静的なWebサイトを無料でホスティングできる機能です。 ポートフォリオサイトやドキュメントの公開に便利です。

README.md

リポジトリの「顔」となるファイルです。 プロジェクトの説明、使い方、インストール方法などを書きます。

# プロジェクト名

## 概要
このプロジェクトは...

## インストール
```
npm install
```

## 使い方
```
npm run dev
```

オープンソースとGitHub

GitHubはオープンソースプロジェクトの中心地でもあります。

オープンソースとは?

ソースコードを無料で公開し、誰でも自由に使える・改良できるプロジェクトのことです。

有名なオープンソースプロジェクト

  • React: Facebookが開発したUIフレームワーク
  • Vue.js: 人気のJavaScriptフレームワーク
  • TensorFlow: Googleの機械学習ライブラリ
  • VS Code: Microsoftの人気コードエディタ

これらのプロジェクトは、世界中の開発者が協力して開発しています。 あなたも、バグ報告やドキュメント修正から、オープンソースに貢献できます!

GitHubのプロフィール

GitHubのプロフィールは、開発者の「ポートフォリオ」になります。

緑の芝生(Contribution Graph)

プロフィールに表示される緑色のマス目は、あなたの活動履歴を示します。 毎日コミットすると、緑のマスが増えていきます。

💡 就職・転職でも注目される!企業の採用担当者は、GitHubのプロフィールを見て技術力を判断することもあります。

GitHub vs 他のサービス

サービス特徴向いている人
GitHub最大手、オープンソースに強い、豊富な機能個人開発者、オープンソース貢献者
GitLabCI/CDに強い、自社サーバーに構築可能企業、DevOpsチーム
BitbucketJiraと連携しやすい、小規模チームは無料Atlassian製品を使う企業

GitHubを使うメリット・デメリット

メリット

  • バージョン管理: 過去のコードにいつでも戻せる
  • バックアップ: クラウドに保存されるので、PCが壊れても安心
  • コラボレーション: チームで効率的に開発できる
  • ポートフォリオ: 自分のスキルを証明できる
  • 学習リソース: 他人のコードを見て学べる

デメリット

  • 学習コスト: Git/GitHubの使い方を覚える必要がある
  • コンフリクト: 複数人で同じファイルを編集すると衝突が起きる
  • 公開リスク: Publicリポジトリは誰でも見られる(APIキーなどに注意)

初心者向けのヒント

1. まずは自分のプロジェクトから

いきなりチーム開発は難しいので、まずは自分のプロジェクトで練習しましょう。

2. コミットメッセージは丁寧に

「修正」「更新」ではなく、「ログイン画面のレイアウトを修正」のように、 何をしたか具体的に書きましょう。

3. .gitignoreを活用

node_modules.envなど、 GitHubにアップロードしたくないファイルは.gitignoreに記載しましょう。

# .gitignore
node_modules/
.env
.DS_Store

4. READMEを書く習慣を

未来の自分や他の人が見たときに、すぐに理解できるようにREADMEを書きましょう。

実際にやってみよう:Gitコマンド学習デモ

よく使うGitコマンドを選んで、使い方と説明を確認してみましょう!

Gitコマンドを選択

↑ コマンドを選択してください

💡 基本的な流れ:git addgit commitgit push でGitHubに変更を反映できます!

よくある質問(FAQ)

Q1. GitHubとGitの違いは何ですか?

Gitはバージョン管理システム(ソフトウェア)で、あなたのパソコン上で動作します。一方、GitHubはGitを使ったホスティングサービス(Webサービス)で、クラウド上でコードを保存・共有できます。

Q2. GitHubは無料で使えますか?

はい、GitHubは無料プランがあり、個人開発者やオープンソースプロジェクトは無料で利用できます。プライベートリポジトリも無制限に作成可能です。

Q3. GitHubの始め方を教えてください

1. GitHubのWebサイト(github.com)でアカウントを作成します。2. Gitをパソコンにインストールします。3. GitHubで「New repository」をクリックしてリポジトリを作成します。4. ローカルでコードを書いて、git add、git commit、git pushコマンドでGitHubにアップロードします。

Q4. プルリクエストとは何ですか?

プルリクエスト(Pull Request、PR)は、「この変更を本番に反映してください」とお願いする機能です。自分が開発した機能や修正を他の開発者にレビューしてもらい、承認されたらメインブランチにマージ(統合)されます。

Q5. GitHubのプロフィールは就職・転職で見られますか?

はい、多くの企業の採用担当者がGitHubのプロフィールを見て技術力を判断します。特にContribution Graph(緑の芝生)や公開リポジトリの品質、オープンソースへの貢献度などが評価されます。

関連用語

用語説明
VercelGitHubと連携して自動デプロイできるホスティングサービス
APIGitHub APIを使ってプログラムから操作できる
GitGitHubの基盤となるバージョン管理システム