Git・GitHub 入門ガイド

BEGINNER'S FIELD GUIDE

GitとGitHubを
味方につける

変更を安全に記録し、チームで共有するための基本を、図と画面でやさしく解説します。

01

THE BIG PICTURE

まず知っておきたいこと

GitとGitHubは、名前は似ていますが役割が違います。

G
LOCAL TOOL

Git

パソコン上でファイルの変更履歴を記録・管理するソフトウェア。

セーブデータを複数保存する仕組み
ONLINE SERVICE

GitHub

Gitで管理したファイルをインターネット上で保存・共有するサービス。

オンライン倉庫+共同作業場所
01 GitHubから取得
02 ブランチで作業
03 add・commit
04 push・PR

よく出てくる言葉

リポジトリ:Gitで管理するプロジェクトの入れ物。

ローカル:自分のパソコン上の場所。

リモート:GitHub上の場所。

履歴に関する言葉

コミット:変更をメッセージ付きで保存すること。

ブランチ:本体から分けた作業場所。

マージ:変更を別のブランチへ取り込むこと。

通信に関する言葉

push:ローカルのコミットをGitHubへ送る。

pull:GitHubの変更をローカルへ取得する。

PR:変更を取り込んでもらう依頼。

02

GET READY

使う前の準備

01

Gitをインストール

Git公式サイトからインストールします。

git --version

バージョン番号が表示されれば成功です。

02

GitHubアカウントを作成

GitHubでアカウントを作り、メールアドレスを確認します。

03

名前とメールアドレスを設定

コミットに「誰が変更したか」を記録するための設定です。

git config --global user.name "あなたの名前"
git config --global user.email "GitHubに登録したメールアドレス"
git config --global --list
i

GitHub CLI(gh)は任意です。
ghを使うとターミナルからPRの作成などもできます。GitHub CLI公式サイトからインストールし、gh auth loginでログインします。

03

YOUR WORKSPACE

ターミナルの基本

Gitコマンドは、作業するフォルダに移動してから実行します。

どこにいるか、何があるかを確認
# 現在いる場所
pwd
# フォルダの中身
ls
# フォルダへ移動 / 1つ上へ戻る
cd フォルダ名
cd ..

Mac/LinuxとWindowsの違い

MacとLinuxはほぼ同じコマンドです。WindowsはPowerShellとGit Bashで書き方が変わります。

やりたいことMac / Linux / Git BashWindows PowerShell
現在地を確認pwdGet-Location
一覧を見るlsGet-ChildItem
ファイルを作るtouch sample.txtNew-Item sample.txt -ItemType File
フォルダを作るmkdir imagesNew-Item images -ItemType Directory
ファイルを削除rm sample.txtRemove-Item sample.txt
フォルダを削除rm -r imagesRemove-Item images -Recurse
touch

空のファイルを作る

touch sample.txt。PowerShellでは New-Item を使います。

mkdir

フォルダを作る

mkdir images。親フォルダも作るときは mkdir -p

rm

削除する

ごみ箱に入らないことがあります。対象を確認してから実行します。

04

UNDERSTAND THE CYCLE

ステージングを理解する

ステージングとは、次のコミットに入れる変更を一時的に選んでおくことです。

01作業中のファイルWorking tree

エディタで変更した直後

git add
02ステージングエリア次のcommitに入れる変更

コミット前の確認ボックス

git commit
03ローカル履歴コミット済み

パソコン内に保存された履歴

git push
04GitHubリモートリポジトリ

チームと共有する場所

!

git addはGitHubへのアップロードではありません。
GitHubへ送るのは、commitの後にgit pushを実行したときです。

基本操作

git status
git diff
git add README.md
git diff --staged
git commit -m "説明を追加"

ステージングを取り消す

ファイルの編集内容は残したまま、コミット対象から外せます。

git restore --staged README.md

迷ったら、add後に git statusgit diff --staged を確認しましょう。

05

WORK SAFELY

ブランチで作業する

mainで直接作業せず、機能追加や修正ごとに作業用ブランチを作ります。

CREATE AND SWITCH

作業ブランチを作る

機能追加はfeature、修正はfixなど、目的が分かる名前にします。

git switch -c feature/add-search
# 修正の場合
git switch -c fix/button-display
feature/add-searchfix/header-layoutdocs/update-readme
確認と移動: git branch で一覧、git switch main でmainへ移動。アスタリスクが現在のブランチです。
06

SYNC YOUR WORK

GitHubと同期する

FIRST TIME

初めて取得する:clone

GitHubの「Code」からURLをコピーします。

git clone https://github.com/ユーザー名/リポジトリ名.git
cd リポジトリ名
SEND CHANGES

GitHubへ送る:push

初回だけ送信先を指定します。

git push -u origin feature/add-search
git push
GET UPDATES

最新にする:pull

作業前にmainを更新する習慣をつけます。

git switch main
git pull origin main
fetchとの違い: git fetch origin は情報だけ取得し、作業中のファイルを変更しません。内容を確認してから反映したいときに使います。

手元のフォルダを新しくGitHubへ登録する

git init
git add .
git commit -m "最初のコミット"
git branch -M main
git remote add origin https://github.com/ユーザー名/リポジトリ名.git
git push -u origin main
07

COLLABORATE

プルリクエストを作る

「このブランチの変更をmainに取り込んでください」と依頼する機能です。

01
作業する

ブランチでファイルを変更

02
保存する

add → commit → push

03
依頼する

GitHubでPRを作成

04
確認する

レビュー → 修正 → マージ

ON GITHUB

画面での手順

  1. 作業ブランチをpushする
  2. 「Compare & pull request」を選ぶ
  3. 変更先がmainか確認する
  4. タイトルと説明を書いて作成する
  5. レビュー後、必要なら同じブランチで修正してpushする
DESCRIPTION EXAMPLE
## 変更内容
- 検索ボタンを追加しました

## 確認方法
1. アプリを起動する
2. 「りんご」と入力する
3. 結果が表示されることを確認する

## 補足
- 関連Issue: #12
MERGE

PRの変更をmainへ取り込むこと。マージ後は git switch maingit pull origin main でローカルも更新します。

08

WHEN THINGS COLLIDE

コンフリクトを解決する

同じファイルの同じ場所を複数人が変更すると、Gitがどちらを残すか判断できないことがあります。

<<<<<<< HEAD
自分の変更
=======
相手の変更
>>>>>>> main

解決の手順

  1. ファイルを開く
  2. 残したい内容に編集する
  3. 3種類の印をすべて削除する
  4. 保存してaddする
  5. コミットしてpushする
git add 競合を解決したファイル
git commit -m "コンフリクトを解決"
git push
09

KEEP SECRETS SAFE

.gitignore と .env

.gitignoreは「送らないリスト」

Gitで管理したくないファイルやフォルダを指定します。パスワード、APIキー、ログ、依存パッケージなどをGitHubへ送らないために使います。

# 実際の秘密情報
.env
.env.*
!.env.example

# 依存パッケージ
node_modules/
__pycache__/
PRIVATE

.env

本物の値を入れる。GitHubへpushしない。

PORT=3000
API_KEY=実際のAPIキー
SHAREABLE

.env.example

項目名とダミー値だけを共有する。

PORT=3000
API_KEY=ここに設定
!

秘密情報を誤ってpushしたら、ファイルを消すだけでは不十分。
すぐにキーやパスワードを無効化・再発行し、管理者やチームへ報告します。

すでにGitが追跡している.envをローカルに残したまま外すには git rm --cached .env。ただし、過去の履歴に残った秘密情報は別途対応が必要です。
10

STOP AND CHECK

初心者が勝手にしてはいけないこと

!
-f / --force は「強制実行」

警告や確認を省略し、ファイルや他の人の変更を消す可能性があります。意味が分からないコマンドに付けないでください。

操作危険な理由まずすること
rm -rf フォルダフォルダと中身を確認なしで削除lsで対象を確認
git push --forceGitHub上の他人のコミットを上書き通常の git pushを使い、必要なら許可を取る
git reset --hard未コミットの変更を削除git statusgit diffを確認
git clean -fdGit管理外のファイルを削除git clean -ndで予定を確認
git clean -fdx.gitignoreのファイルまで削除原則として実行しない
git branch -D 名前未マージのブランチも強制削除git branch -d 名前を使う
BEFORE YOU PANIC

間違えて実行しそうになったら

git status
git branch --show-current
git remote -v
git diff

どのフォルダで、どのブランチに対して、何を削除・上書きするのか分からないなら、実行せずに相談します。

11

SEE IT IN ACTION

画面で見るGitHub

実際の画面で、どこをクリックするか確認できます。画面のレイアウトはGitHubの更新で変わることがあります。

12

KEEP THIS HANDY

最低限覚えるコマンド

git status現在の状態
git clone URL初めて取得
git pull最新に更新
git switch -c 名前ブランチ作成
git diff変更を確認
git add ファイルステージング
git commit -m "..."履歴に保存
git pushGitHubへ送信
git log履歴を見る
git restore ファイル未コミット変更を戻す
git revert ID公開済み変更を打ち消す
git fetch origin情報だけ取得

困ったときの合言葉

まず git status。現在のブランチ、変更ファイル、コミット状況を確認してから次の操作を決めましょう。

コピーしました