2. 環境準備

GitHubアカウントの作成とGitの初期設定を行います。ここで設定する内容にはセキュリティと個人情報に関わる大事なポイントがいくつかあるので、丁寧に進めます。

🖥 このページはWindows向けです

Macをお使いの方は Mac版の「2. 環境準備」 に進んでください。3章以降のgitコマンドはWindows/Macで共通です。

🎯 この章でできるようになること

  • GitHubアカウントを安全に(2FA付きで)作成する
  • Gitの初期設定(名前・メールアドレスなど)を済ませる
  • GitHubへの認証の仕組み(ブラウザ認証・トークン)を理解する

2-1. Gitがインストールされているか確認

PowerShellを開いて(Win+X →「ターミナル」)、次のコマンドを実行します。

git --version
git version 2.54.0.windows.1

バージョン番号が表示されればインストール済みです。git : 用語 'git' は認識されません... と出る場合は、git-scm.com からインストーラをダウンロードして実行してください(設定はすべてデフォルトのままでOK)。インストール後はPowerShellを開き直してから再度確認します。

2-2. GitHubアカウントを作成する

  1. ブラウザで github.com/signup を開く
  2. メールアドレス、パスワード、ユーザー名を入力する
  3. 届いた確認コードを入力して完了
⚠ ユーザー名は慎重に決める
  • ユーザー名は全世界に公開され、URL(github.com/ユーザー名)になります。
  • 後から変更はできますが、変更すると古いURLへのリンクが壊れるため、長く使える名前にしましょう。
  • 仕事用と割り切るなら本名ベース、そうでなければハンドルネームでも構いません。恥ずかしくない名前に!

二要素認証(2FA)を必ず有効にする

パスワードだけの保護では、漏洩したときにアカウントを乗っ取られます。GitHubアカウントの乗っ取りは「あなたのコードに悪意あるコードを混入される」被害に直結するため、2FA(二要素認証)は必須です。現在GitHubは多くのユーザーに2FAを義務化しています。

  1. GitHub右上の自分のアイコン → Settings → Password and authentication
  2. Two-factor authentication の Enable をクリック
  3. 認証アプリ(Google Authenticator、Microsoft Authenticator、1Passwordなど)でQRコードを読み取り、表示された6桁コードを入力
  4. リカバリーコードを必ず保存する(印刷またはパスワードマネージャーへ)。スマホを紛失したとき、これがないとアカウントに入れなくなります。
💡 パスキー(Passkey)も使える

Windows Hello(顔認証・指紋・PIN)でログインできる「パスキー」にも対応しています。Settings → Password and authentication → Passkeys から追加でき、フィッシング(偽サイト)に強いのでおすすめです。

2-3. Gitの初期設定(必須)

Gitは、コミットに「誰が変更したか」を記録します。その名前とメールアドレスを最初に設定します。この設定は一度やれば、そのPCではずっと有効です。

▼ 名前の設定(GitHubのユーザー名と同じにするのがおすすめ)
git config --global user.name "あなたのユーザー名"
▼ メールアドレスの設定
git config --global user.email "あなたのメールアドレス"
🔒 セキュリティ: メールアドレスは公開される

ここで設定したメールアドレスはコミット履歴に記録され、リポジトリを公開すると誰でも見られます。スパムや詐欺の標的になり得ます。個人のメールアドレスを晒したくない場合は、GitHubが用意するnoreply(ノーリプライ)アドレスを使いましょう。

  1. GitHubの Settings → Emails を開く
  2. Keep my email addresses private にチェック
  3. ページに表示される 12345678+ユーザー名@users.noreply.github.com という形式のアドレスをコピー
  4. それを git config --global user.email に設定する

あわせて Block command line pushes that expose my email にもチェックを入れると、個人アドレス入りのpushをGitHub側で拒否してくれます。

その他のおすすめ初期設定

▼ 新規リポジトリの基本ブランチ名を main にする(GitHubの標準に合わせる)
git config --global init.defaultBranch main
▼ 日本語ファイル名が文字化け表示されるのを防ぐ
git config --global core.quotepath false
▼ 設定内容の確認
git config --global --list
user.name=あなたのユーザー名
user.email=12345678+あなたのユーザー名@users.noreply.github.com
init.defaultbranch=main
core.quotepath=false
💡 「CRLF」の警告について(Windows特有)

後の章でコミットするとき、warning: LF will be replaced by CRLF... という警告を見ることがあります。これはWindowsとMac/Linuxで「改行コード」の形式が違うために出るもので、エラーではなく無視して問題ありません。Git for Windowsのデフォルト設定(core.autocrlf=true)が自動で適切に変換してくれています。

2-4. GitHubへの認証の仕組みを理解する

自分のPCからGitHubにコードを送る(push)には、「このPCの操作は本人によるものだ」と証明する認証が必要です。重要なので仕組みを理解しておきましょう。

方式仕組みおすすめ度
ブラウザ認証
(Git Credential Manager)
初回push時にブラウザが開き、GitHubにログインして許可するだけ。認証情報はWindowsの資格情報マネージャーに安全に保存される◎ 初心者はこれ一択。Git for Windowsに標準搭載
Personal Access Token (PAT)「パスワードの代わりになる文字列」を自分で発行して使う。権限と有効期限を細かく絞れる○ 自動化・スクリプト用。8章で詳述
SSHキー公開鍵暗号を使った認証。鍵ペアを作りGitHubに公開鍵を登録する○ 慣れてきたら。上級者に人気

この学習サイトではブラウザ認証を使います。事前設定は不要で、5章で初めてpushするときにブラウザが自動で開くので、そこで許可すればOKです。

🔒 覚えておくべきこと
  • GitHubのアカウントパスワードをgitコマンドに入力する場面は存在しません(2021年に廃止済み)。「パスワードを入れて」と要求する画面・ツールがあったら疑ってください。
  • トークン(PAT)はパスワードと同じ扱いです。人に見せない、ファイルに書いてコミットしない、期限を設定する。詳しくは8章で。

2-5. GitHub CLI(gh)を入れておく(推奨)

GitHub CLIは、リポジトリ作成やPull Request操作をコマンドで行えるGitHub公式ツールです。ブラウザ操作を減らせるので入れておくと便利です(なくても学習は進められます)。

▼ winget でインストール
winget install --id GitHub.cli
▼ PowerShellを開き直してから、GitHubアカウントと連携(ブラウザが開きます)
gh auth login
# 質問には次のように答える:
#   ? Where do you use GitHub?          → GitHub.com
#   ? What is your preferred protocol?  → HTTPS
#   ? Authenticate Git with your GitHub credentials? → Yes
#   ? How would you like to authenticate? → Login with a web browser

表示される8桁のコードを控えてEnterを押すとブラウザが開くので、コードを入力して許可します。

▼ 連携できたか確認
gh auth status
github.com
  ✓ Logged in to github.com account あなたのユーザー名
📝 演習 2-1: セットアップ完了チェック

次の4つがすべて完了していることを確認しましょう。

  1. git --version でバージョンが表示される
  2. GitHubにログインでき、2FAが有効になっている(Settings → Password and authentication で「Two-factor authentication」が Enabled)
  3. git config --global --list で user.name と user.email が表示される
  4. (任意)gh auth status でログイン済みと表示される

✅ 理解度チェック