Gitを手元のパソコンに入れて、GitHubとやり取りできるようになるまでの準備は、一度済ませればしばらく触りません。ただ、ここで入れた名前とメールは履歴に残り続けるので、意味を知らずに通り過ぎると後で困ります。サンプル料理教室の代表が自分のパソコンで website リポジトリを扱えるようになるまでを例に、MacとWindowsの手順を順に書きます。読み終わると、インストール、名前とメールの設定、GitHubへの認証がひととおり済み、よく出るエラーの意味も分かるようになります。
この記事の内容
先に答えると
Macはターミナルで git --version を打って確かめ、入っていなければ Command Line Tools を入れます。Windowsは公式の Git for Windows を入れます。そのあと git config --global で名前とメールを1回設定し、既定の枝の名前を main にして、最後にGitHubへの認証を済ませます。認証は gh auth login が一番手間がかかりません。
- GitHubのパスワードでは、Gitの操作はできない(2021年8月に廃止)
- 名前とメールはコミットに焼き付く。公開してよい値を入れる
- メールを見せたくなければ、GitHubの非公開メールアドレス(noreply)を使える
- 秘密鍵とトークンは人に渡さない。AIとのやり取りにも貼らない
- 画面だけで使いたいなら、GitHub Desktopを入れればコマンドの準備はほとんど要らない
ターミナルは、文字でパソコンに命令を出す画面です。Macなら「ターミナル」というアプリ、Windowsなら PowerShell です。
入っているかを確かめて、入れる
Mac
ターミナルを開いて次を打ちます。
$ git --version
git version 2.50.1 (Apple Git-155)
バージョンが出れば入っています。番号は機種や時期で変わります。入っていなければ、Appleの Command Line Tools(開発用の基本の道具一式)を入れます。この中にGitが含まれています。
- ターミナルで
xcode-select --installと打ちます。 - 出てきた画面の案内に沿ってインストールします。
- ターミナルを開き直して
git --versionをもう一度打ちます。
Homebrewというインストール用の道具をすでに使っている人は brew install git でも入ります。Command Line Tools のgitは最新版より古いことがありますが、最初の用途なら、どちらで入れても困りません。
Windows
Windowsの公式の入口は git-scm.com/install/windows です。2026年11月時点の最新は 2.56.0 で、リリースは2026年10月26日です。
- 公式のページを開き、Standalone Installer の「Git for Windows/x64 Setup」を選びます。ARMのパソコンなら「Git for Windows/ARM64 Setup」です。
- ダウンロードしたファイルを開きます。
- 選択の画面は、分からなければ既定のまま進めます。
- 認証情報の保存の選択では、既定の Git Credential Manager のままにします。
- PowerShell を開いて
git --versionを打ち、バージョンが出るか確かめます。
Git Credential Manager はGitHubなどへのログイン情報を安全にしまってくれる道具で、Git for Windows に含まれています。winget install --id Git.Git -e --source winget というコマンドでも入りますが、公式のページによると、このパッケージは Git for Windows のプロジェクトが管理しているものではなく、最新版からずれることがあります。

最初に1回だけ設定する:名前とメール
Gitのコミットには、誰が変更したかの名前とメールが記録されます。コミットは変更を1回分の記録として残す操作です。その名前とメールをGitに教えるのが次の2行です。
$ git config --global user.name "代表"
$ git config --global user.email daihyo@sample-cooking.example
何も表示されなければ成功です。--global は、このパソコンのこのユーザーの全リポジトリに効かせるという意味で、値はホームフォルダの .gitconfig に入ります。入れた値は次のように確かめます。
$ git config --global user.name
代表
$ git config --global user.email
daihyo@sample-cooking.example
| 項目 | 何に使われるか | 入れる値の考え方 |
|---|---|---|
user.name | 履歴に出る作成者の名前 | GitHubのユーザー名と同じでなくてよい。外注エンジニアBが読んで誰か分かる名前 |
user.email | 履歴に出るメール。GitHubはこれでコミットとアカウントを結びつける | GitHubのアカウントに登録したアドレス、または次の節の noreply |
GitHubのログインとは別の話です。ここに何を入れてもGitHubに入れるようにはなりません。認証はこのあと別にやります。
もう1つ、入れた値はコミットに焼き付きます。あとで設定を変えても、過去のコミットの名前とメールは変わりません。公開リポジトリに送れば、誰でも読めます。
メールを見せたくないときは noreply
GitHubはアカウントごとに、コミット用の非公開メールアドレスを用意しています。形は次のとおりです。
12345678+sample-cooking-daihyo@users.noreply.github.com
前の数字がアカウントのID、+ の後ろがユーザー名です。これを user.email に入れると、本物のアドレスを出さずに、コミットを自分のアカウントに結びつけられます。数字のIDは、ブラウザで https://api.github.com/users/ユーザー名 を開くと id の行で分かります。設定は次の順です。
- GitHubの右上のアイコンから「Settings」を開きます。
- 左の一覧の「Access」にある「Emails」を開きます。
- 「Keep my email addresses private」を選びます。
- 「Block command line pushes that expose my email」も選びます。非公開のはずのアドレスが入ったコミットをpushしようとすると止めてくれます。
- IDとユーザー名を当てはめた noreply のアドレスを
git config --global user.emailに入れます。
2017年7月18日より前に作ったアカウントで当時からこの設定を入れていた場合は、数字の無い ユーザー名@users.noreply.github.com の形です。設定をいったん外して入れ直すと、数字付きの形になります。
会社の非公開リポジトリしか扱わないなら、会社のメールのままで困りません。公開リポジトリに出す可能性がある人は noreply にしておきます。

リポジトリごとに変えたいとき
外注エンジニアBのように、会社ごとにメールを分けたい人は、そのリポジトリの中で --global を外して設定します。--show-origin を付けると、値がどのファイルから来ているかも分かります。
$ git config --local user.email 12345678+sample-cooking-daihyo@users.noreply.github.com
$ git config --show-origin user.email
file:.git/config 12345678+sample-cooking-daihyo@users.noreply.github.com
既定の枝の名前を main にする
ブランチ(枝)は、作業を分けるための線です。素のGitの既定は master で、何も設定しないと最初の枝をこの名前で作り、次のような案内を出します。
$ git init website
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
(このあと続く数行は省略しました。)
Appleの Command Line Tools のgitには、既定を main にする設定が最初から入っています。git 2.50.1(Apple Git-155)で確かめると案内は出ず、最初の枝も main でした。設定の出どころは次のように見られます。
$ git config --list --show-origin | grep defaultbranch
file:/Library/Developer/CommandLineTools/usr/share/git-core/gitconfig init.defaultbranch=main
どちらの環境でも、自分で設定しておけば同じ結果になります。GitHubの用語集でも最初の枝はふつう main と呼ぶと書かれているので、手元もそろえておくと話が合います。設定は1行です。
$ git config --global init.defaultBranch main
$ git init website
Initialized empty Git repository in .../website/.git/
$ git -C website branch --show-current
main
git init は、そのフォルダをGitで管理し始める操作です。案内が消えて、枝の名前が main になりました。
GitHubへの認証は3通り
Gitの設定とは別に、GitHubに「この操作をしているのは本人です」と示す手段が要ります。非公開リポジトリを受け取るときと、変更を送るとき(push)に使います。GitHubのパスワードは、2021年8月13日からGitの操作に使えなくなりました。今は次の3通りです。
| 方法 | 何で本人だと示すか | リポジトリのURLの形 | 手間 | 向いている人 |
|---|---|---|---|---|
gh auth login | ブラウザでログインし、トークンをパソコンの保管庫にしまう | https://github.com/sample-cooking/website.git | 少ない | ほとんどの人。最初はこれ |
| HTTPSとトークン | 自分で作ったトークンをパスワードの欄に入れる | 同上 | 中くらい。期限が来たら作り直し | 特定のリポジトリだけに絞って権限を渡したい人 |
| SSH鍵 | パソコンの秘密鍵と、GitHubに登録した公開鍵の組 | git@github.com:sample-cooking/website.git | 最初だけ多い | 制作会社の指示がSSHの人、よく触る開発者 |
おすすめは gh auth login です。トークンの作成も鍵の管理も自分でせずに済みます。Windowsの人は Git Credential Manager が入っているので、HTTPSのURLで最初に受け取るときにブラウザのログイン画面が出て、それで済ませることもできます。
トークンは、パスワードの代わりに使う長い文字列のことです。鍵もトークンも、持っている人がその権限で動けてしまう点で、パスワードと同じ重さがあります。

gh auth login の手順
GitHub CLI(gh)は、GitHubのサイトの操作をコマンドでやる道具です。Macなら brew install gh、Windowsなら公式の MSI インストーラーで入ります。詳しい入れ方は「GitHub CLIの使い方:ghでできることと、gitとの違い」に書きました。
- ターミナルで
gh auth loginと打ちます。 - 接続先を聞かれたら「GitHub.com」を選びます。
- Gitの操作に使う方式を聞かれたら
HTTPSを選びます。 - GitHubの認証情報でGitにも認証するかを聞かれたら
Yと答えます。 - 既定はブラウザでのログインです。画面に出た1回限りのコードをブラウザに入れて承認します。
- 終わったら
gh auth statusで状態を確かめます。
トークンはパソコンの資格情報の保管庫にしまわれ、Gitの操作でも使われるようになります。保管庫が使えない環境では平文のファイルに書かれることがあるので、gh auth status で保存先を見ておくと確実です。
HTTPSとトークン
自分でトークンを作る場合の入口は次のとおりです。
- GitHubの右上のアイコンから「Settings」を開きます。
- 左の一覧の「Developer settings」を開きます。
- 「Personal access tokens」の「Fine-grained tokens」を開きます。
- 「Generate new token」を押して、対象のリポジトリと権限、期限を決めます。
Fine-grained は、対象を特定のリポジトリに絞って権限を細かく決められる種類で、GitHubは可能な限りこちらを勧めています。もう1つの classic は、自分が触れる全部のリポジトリに届きます。作ったトークンは、Gitがパスワードを聞いてきたときに入れます。ユーザー名も聞かれますが、認証に使われるのはトークンです。期限が来れば自動で失効し、1年使わなかったトークンも自動で消えます。消えたものは戻せないので、作り直します。
SSH鍵の作り方と登録
SSH鍵は、秘密鍵と公開鍵の2つで1組のファイルです。秘密鍵はパソコンの中に置いたまま、公開鍵だけをGitHubに登録します。
- ターミナルで次を打ちます。
-Cの後ろは鍵の目印で、GitHubのメールを入れます。
$ ssh-keygen -t ed25519 -C "daihyo@sample-cooking.example"
- 「Enter a file in which to save the key」と聞かれたら、Enterで既定の場所に保存します。すでに鍵があるなら別の名前にします。
- 「Enter passphrase (empty for no passphrase)」と聞かれたら、鍵を守る合言葉を入れます。確認でもう一度入れます。
- 公開鍵をコピーします。Macは
pbcopy < ~/.ssh/id_ed25519.pub、Windowsはclip < ~/.ssh/id_ed25519.pubです(PowerShellでエラーになるときはcat ~/.ssh/id_ed25519.pub | clip)。 - GitHubの「Settings」で、「Access」にある「SSH and GPG keys」を開きます。
- 「New SSH key」を押します。
- 「Title」に「代表のMacBook」のように分かる名前を入れ、種類は認証用(Authentication)を選びます。
- 「Key」に貼り付けて「Add SSH key」を押します。
- ターミナルで
ssh -T git@github.comと打って接続を確かめます。
初めての接続では、相手が本物のGitHubかを聞かれます。指紋(fingerprint)がGitHub公式の値と一致するときだけ yes と答えます。成功すると次のように出ます。
Hi USERNAME! You've successfully authenticated, but GitHub does not provide shell access.
.pub の付くほうが公開鍵で、付かない id_ed25519 が秘密鍵です。秘密鍵は誰にも渡しません。制作会社から「鍵をください」と言われたら、渡すのは .pub だけです。公式の説明でも、秘密鍵を手に入れられると、その鍵を使う全部の相手に入られるとされています。合言葉を付けておけば、ファイルを取られてもすぐには使えません。毎回の入力が面倒なら ssh-agent に覚えさせる方法があり、公式の手順が用意されています。
すでにHTTPSのURLで受け取ったリポジトリをSSHに切り替えるときは、次の1行です。
$ git remote -v
origin https://github.com/sample-cooking/website.git (fetch)
origin https://github.com/sample-cooking/website.git (push)
$ git remote set-url origin git@github.com:sample-cooking/website.git
$ git remote -v
origin git@github.com:sample-cooking/website.git (fetch)
origin git@github.com:sample-cooking/website.git (push)

設定を確かめる
全部の設定は git config --list で一覧できます。--show-origin を付けると、どのファイルの値かが分かります。
$ git config --list
user.name=代表
user.email=daihyo@sample-cooking.example
init.defaultbranch=main
$ git config --list --show-origin
file:~/.gitconfig user.name=代表
file:~/.gitconfig user.email=daihyo@sample-cooking.example
file:~/.gitconfig init.defaultbranch=main
init.defaultbranch が小文字で出るのは正常です。この一覧はパソコンの環境によって、他の行がもっと並びます。同じ項目が複数の行に出たときは、最後に見つかった値が使われます。試しに1つコミットすると、設定した名前で残ることが確かめられます。
$ git commit -m "料金表を修正"
[main (root-commit) fddfdd7] 料金表を修正
1 file changed, 1 insertion(+)
create mode 100644 menu.html
$ git log -1 --format='%h %an <%ae> %s'
fddfdd7 代表 <daihyo@sample-cooking.example> 料金表を修正
設定ではできないことと、その代わり
| できないこと | その代わり |
|---|---|
| GitHubのパスワードでpushする | 上の3通りのどれかで認証する |
| 設定を変えて過去のコミットの名前やメールも直す | 変わるのはこれからのコミットだけ。まだpushしていない直前の1件なら git commit --amend --reset-author で直せる |
| 別のパソコンに設定を引き継ぐ | パソコンごとに同じ設定をする。SSH鍵は機械ごとに別に作って登録する |
| 受付Aと1つの鍵やトークンを共有する | 1人1アカウントで、それぞれ認証する。共有すると履歴で誰の操作か分からない |
| コマンドなしで今の手順を全部済ませる | GitHub Desktopならサインインだけで受け渡しまでできる。「GitHub Desktop・Sourcetree・VS Codeの使い方と選び方」へ |
よく詰まるところ
| 症状 | 原因 | 直し方 |
|---|---|---|
git が見つからないと言われる | インストールされていない、または開いていたターミナルが古い | ターミナルを開き直す。それでも駄目ならインストールからやり直す |
Author identity unknown と出てコミットできない | 名前とメールが未設定で、Gitが推測もできなかった | 表示どおり git config --global user.email と user.name を設定する |
Your name and email address were configured automatically と出る | 未設定のまま、パソコンのユーザー名とホスト名から勝手に作られた | 名前とメールを設定し、git commit --amend --reset-author で直前のコミットを直す |
Permission denied (publickey) と出る | SSHの鍵を読み込めていない、GitHubに未登録、または sudo を付けて別ユーザーで実行している | eval "$(ssh-agent -s)" で鍵を預かるssh-agentを起動してから、ssh-add -l -E sha256 で鍵の指紋を見て「SSH and GPG keys」の一覧と比べる。無ければ登録する。sudo は付けない。URLは git@github.com: の形にする |
support for password authentication was removed と出る | パスワードの欄にGitHubのパスワードを入れた | gh auth login を済ませる。またはトークンを作ってパスワードの欄に入れる |
存在するはずのリポジトリで Repository not found と出る | 別のアカウントで認証している。非公開のリポジトリは権限が無いと存在しないように見える | gh auth status でアカウントを確かめる。招待を受けているかも確かめる |
| GitHubの履歴で自分のアイコンが出ない | user.email がアカウントに登録されていない | そのメールをアカウントに足すか、noreply を使う |
master という枝ができた | init.defaultBranch が未設定のまま git init した | 設定を入れ、作ったものは git branch -m main で名前を変える |
実際に運用していると、一番多いのは鍵やトークンをチャットに貼ってしまう事故です。AIに「認証が通らない」と相談するときも、エラーの文だけを貼れば足ります。トークンそのものは貼らないでください。貼ってしまったら、まず無効にして作り直します。
次に読む
- GitHubの使い方:アカウント作成から最初のリポジトリまで
- GitHub Desktop・Sourcetree・VS Codeの使い方と選び方
- GitHub CLIの使い方:ghでできることと、gitとの違い
- git add・commit・pushの違い:保存して送るまでの流れ
- GitHubのSSH接続:鍵の作り方と登録、HTTPSとの違い
パソコンに入れずブラウザの中で開発する方法は「GitHub Codespacesとは:ブラウザで開発する仕組みと無料枠」にあります。