前回、Git は「概念の地図」で十分だという話をしました。今回はその地図を持ったまま、実際に手を動かす準備をします。
準備は一度きりの仕込みです。ここを済ませておけば、次回からは .git の中を覗いたり、ブランチ (本流とは別の作業場を作る) を切ったりという実習にそのまま入れます。
なお、ここから先のコマンドはすべて ターミナル(キーボードで文字を打ってパソコンに指示する黒い画面) に打ち込みます。Mac は ⌘ + Space で「ターミナル」と検索すれば開けます。Windows はこのあと入れる「Git Bash」がそれにあたります。
やることは 4 つだけです。
- Git をインストールする
- 名前とメールを設定する
- メールを世界に晒さないようにする
- GitHub CLI(GitHub をコマンドラインから操作する公式ツール
gh) を入れる
順番に進めます。
TL;DR
- 仕込みは一度きり。Git を入れる→著者情報を設定する→メールを公開しない→
ghを入れて認証する の 4 つで終わります。 - 著者情報 (
user.name/user.email) を設定しないとコミットできません。git configの正体は、ホームフォルダにある.gitconfigというただのテキストを書き換えているだけです。 - コミットには名前とメールが永久に刻まれ、公開リポジトリ (保存場所) では誰でも見られます。GitHub の noreply メール を使えば、実アドレスを晒さずに済みます。
gh auth loginを一度通せば、SSH 鍵やトークンの面倒な設定なしに、端末から GitHub を操作できます。
まず全体像:仕込みは 4 ステップ
これから何をするのか、先に地図を見せておきます。
flowchart TD A["① Gitを入れる<br/>git --version で確認"] --> B["②著者情報を設定<br/>名前とメール"] B --> C["③メールを公開しない<br/>GitHub noreply メール"] C --> D["④ ghを入れて認証<br/>gh auth login"]
1 と 4 はインストール作業、2 と 3 は設定作業です。どれも一度やれば、以後ずっと効きます。
1. Git のインストールと確認 (Mac は Homebrew が確実)
まず、入っているかと、どのバージョンかを確認します。
git --version # → git version 2.x.x のように出る
Mac には最初から Git が入っています。ただしこれは Apple が配布している版で、本家より古いことが多く、更新もかなり遅れます。新しいコマンド (git switch / git restore など) や最新の修正を確実に使うには、Homebrew(Mac 用のパッケージ管理ツール) で本家の最新版を入れるのが確実です。私もこの方法で入れています。
Homebrew がまだ入っていなければ、先に入れます。公式サイト brew.sh が案内している 1 行を、そのままターミナルに貼り付けて実行します。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
途中で Mac のパスワードを聞かれたり、最後に「eval "$(/opt/homebrew/bin/brew shellenv)" を設定ファイルに足してください」と案内されたりします。このとき案内には、コピーして実行すべき 2 行 (echo …>> ~/.zprofile と eval …) がそのまま表示されます。難しく考えず、その 2 行を 1 つずつ貼り付けて実行すれば、設定ファイルへの追記が済み、brew コマンドが使えるようになります。
続いて Git を入れます。
brew install git
入れたら、Apple 版ではなく Homebrew 版の Git が使われているかを確認します。いったんターミナルを開き直してから、次を実行してください。
which git # → /opt/homebrew/bin/git なら Homebrew版(Apple Silicon の場合)
期待する場所は Mac のチップで変わります。Apple Silicon(M1 以降) なら /opt/homebrew/bin/git、古い Intel Mac なら /usr/local/bin/git が出れば Homebrew 版です。どちらか分からなければ、ひとまずこの 2 つのどちらかが出ていれば成功と考えて構いません。
which git が /usr/bin/git(Apple 版) のままのときは、ターミナルを開き直すか、/opt/homebrew/bin が PATH(コマンドを探しに行く場所の一覧) の先頭に来ているかを確認します。PATH は echo $PATH で表示でき、先頭のほうに /opt/homebrew/bin があれば Homebrew 版が優先されます。前の手順で案内された brew shellenv の設定が効いていれば、ここはたいてい問題ありません。
以後、Git を最新に保つのも Homebrew 経由です。気が向いたときに次を実行すれば、本家の更新に追いつけます。
brew upgrade git
ここから先の Windows・Linux は補足です。Mac の方は読み飛ばして次の初期設定へ進んで構いません。
Windows
初めてなら、公式インストーラ「Git for Windows」(git-scm.com/download/win) が確実です。”Git Bash”(Unix 風のシェル) も一緒に入るので、本記事のコマンドがそのまま動きます。基本は表示されるまま進めて問題ありません。
パッケージ管理ツールを使っているなら、次のいずれかでも入ります。
winget install --id Git.Git -e --source winget # Windows 10/11 標準の winget choco install git -y # Chocolatey scoop install git # Scoop
Windows で覚えておくことが一つあります。インストール後は 「Git Bash」 を使うのがおすすめです。本記事のコマンド (printf、ls、cat など) がそのまま動きます。PowerShell やコマンドプロンプトでも git 自体は動きますが、一部のコマンドは置き換えが必要になります。
Linux(Debian / Ubuntu 系)
sudo apt update && sudo apt install git # Fedora系は sudo dnf install git
2. 最初の初期設定 (これをやらないとコミットできない)
Git は コミットごとに「誰が変えたか」という著者情報を刻みます。だから最初に、自分の名前とメールを教える必要があります。これを設定しないと、そもそもコミットできません。
git config --global user.name "Your Name" git config --global user.email "you@example.com" git config --global init.defaultBranch main # 新規リポジトリの最初のブランチ名を main に git config --global core.editor "code --wait" # コミットメッセージ編集に使うエディタ(VS Code の例) git config --list # 設定を確認する
最後の core.editor の行は、VS Code を使う人向けの例です。これを効かせるには code コマンドが使える状態(VS Code のコマンドパレットで「Shell Command: Install ‘code’ command in PATH」を一度実行) が必要です。VS Code を使わない、または難しければ、この 1 行は飛ばして構いません。設定しなければ既定のエディタ(多くは vim) が開くだけです。
--global は「そのパソコンの全リポジトリ共通」という意味で、設定はホームフォルダの .gitconfig に保存されます。特定のリポジトリだけ別の設定にしたいときは --local を使います。
ひとつ知っておくと安心なのが、git config の正体です。これは魔法のコマンドではなく、ホームフォルダの .gitconfig(全体設定) や、各リポジトリの .git/config(個別設定) という ただのテキストファイルを書き換えているだけ です。
実体の置き場所は、Mac なら /Users/あなたの名前/.gitconfig、Windows なら C:\Users\あなたの名前\.gitconfig です (Mac やターミナルでよく使う ~ は、このホームフォルダを指す記号です)。
Mac なら cat ~/.gitconfig、Windows でも Git Bash を使えば同じく cat ~/.gitconfig で中身がそのまま読めます。設定が思い通りにならないときも、最後はこのテキストを見れば原因が分かります。
AI に頼むなら
このパソコンで git をまだ初期設定していない。コミットに刻まれる著者情報として、名前『Taro Yamada』とメール『taro@example.com』を登録して
この一言で、AI は git config --global user.name と git config --global user.email を実行し、コミットできる状態に整えます。「このパソコンで」と言えば、AI は一部のリポジトリだけの --local ではなく、全リポジトリ共通の --global を選びます。ここは一度きりの仕込みなので、名前とメールは自分の値を渡してください。
GitHub アカウントを作る (まだの人だけ)
ここから先のメール設定 (手順 3) と gh の認証 (手順 4) は、GitHub のアカウントがある前提です。まだなら、先に作っておきます。数分で終わります。
- github.com を開き、Sign up を押す
- メールアドレス・パスワード・ユーザー名を入力する
- 届いた確認メールのコードを入力すれば完了
ユーザー名は、あなたのページの URL(github.com/ユーザー名) やコミットの表示に使われます。後から変更もできますが手間なので、長く使える名前にしておくと安心です。
3. メールアドレスを公開しないようにする
ここは見落とされがちですが、プライバシー上とても大切です。
前回ふれたとおり、コミットには著者として あなたの名前とメールが永久に刻まれます。そして公開リポジトリでは、その情報は世界中の誰でも見られます。
git log --format='%an <%ae>' # Your Name <you@example.com> ←この実メールが GitHub 上で誰にでも見える
誰でも git log や GitHub のコミット画面、さらに API 経由であなたの実メールを取得できます。結果として、スパムやフィッシングの標的にされやすくなります。しかも一度 push したコミットの著者メールは履歴に残り続け、後から消すのは大掛かりです。
解決策は、GitHub が用意している 返信不可 (noreply) メール を使うことです。実アドレスの代わりに使える専用アドレスで、形式はこうなっています。
<数字ID>+<ユーザー名>@users.noreply.github.com 例)12345678+taro@users.noreply.github.com
設定の手順はこうです。
- GitHub 右上のアイコン→ Settings →左メニューの Emails を開く
- 「Keep my email addresses private」(メールアドレスを非公開にする) にチェックを入れる。すると、あなた専用の
…@users.noreply.github.comが表示されるので、その文字列をコピーする - できれば 「Block command line pushes that expose my email」 にもチェックを入れる。実メールのままコミットを push しようとすると、GitHub が push 自体を止めてくれる安全弁です
- 手元の Git に、その noreply メールを設定する
git config --global user.email "12345678+taro@users.noreply.github.com" git config --global user.email # 設定を確認
ここでよく出る疑問にも答えておきます。
- noreply にすると「草」(プロフィールの緑のマス) が生えなくなる? → 生えます。GitHub は「コミットのメール」を「アカウントに登録・確認済みのメール」と突き合わせて本人と判定します。自分の noreply メールは本人として認識されるので、ちゃんと数えられます。逆に、アカウントに紐づかないでたらめなメールでコミットすると、プロフィールに結びつかず草も生えません。必ず「自分の」noreply を使ってください。

- すでに実メールでコミット済みのものは? → 過去の履歴には残ったままです。今後のコミットが noreply になるだけで、過去も消すには履歴の書き換えが必要になります (共有済みなら影響が大きいので慎重に)。
- 会社や自分のドメインのメールを使いたい → それでも構いません。隠したいのが「個人の実アドレス」なら、公開しても困らないアドレスを著者情報に使う、というのが目的です。
4. GitHub CLI(gh) のインストールと認証
gh は、GitHub をコマンドラインから操作するための公式ツールです。リポジトリの作成、プルリクエスト、認証などを端末だけで完結できます。Git 本体とは別物なので、別途インストールします。
macOS
brew install gh
Windows
winget install --id GitHub.cli -e --source winget # winget(標準・おすすめ) choco install gh -y # Chocolatey scoop install gh # Scoop
Linux:sudo apt install gh(公式リポジトリの登録が必要です。手順は GitHub CLI の公式ドキュメント を参照してください)
入ったら、OS 共通でログインします。
gh auth login # 対話形式でGitHubにログイン(ブラウザ認証) gh auth status # ログイン状態を確認
gh auth login を実行すると質問が順に出ます。迷ったら GitHub.com → HTTPS → 「Login with a web browser」 を選べば大丈夫です。最後に画面に出る 8 桁のコードをブラウザに貼り付ければ認証が完了します。
gh を入れておくと、何が楽になるのでしょうか。本来、GitHub への接続には SSH 鍵やトークンの設定が要りますが、gh auth login がその認証情報を自動で設定してくれます。一度通せば、あとは端末からこう打つだけで手元のリポジトリを GitHub に上げられます。
gh repo create my-project --private --source=. --remote=origin --push
AI に「これを GitHub に上げて」と頼んだとき、裏でこの gh が動きます。自分で打てる必要はありませんが、認証だけは最初に一度通しておく、と覚えておけば十分です。
なお、プロジェクトに含めたくないファイルを宣言する .gitignore も準備の一部ですが、これは「追跡する・しない」という仕組みを理解してからのほうが腑に落ちます。後の回 (第6回) で、git add の仕組みとあわせて扱います。
まとめ
第 2 回として、手を動かす前の一度きりの仕込みを済ませました。
- Git のインストールは、Mac なら標準版が古く更新も遅いので、Homebrew で本家の最新を入れるのが確実 (
brew install git)。which gitが/opt/homebrew/bin/gitを指していれば Homebrew 版が使われている。 - 初期設定は
git config --globalで名前とメールを登録する。これをやらないとコミットできない。git configの正体は、ホームフォルダの.gitconfigというテキストを書き換えているだけ。 - メールは公開しない。GitHub の noreply メールを使えば、実アドレスを晒さずに済み、草もちゃんと生える。
ghは GitHub を端末から操作する別ツール。gh auth loginを一度通せば、面倒な認証設定を肩代わりしてくれる。
これで準備は整いました。次回からはいよいよ本題です。使い捨てのリポジトリを 1 つ作って、コミットやブランチが .git の中で実際にどんなデータとして存在しているのかを、自分の目で覗いて確かめます。ブランチの正体が「たった 40 文字のテキストファイル」だと分かると、Git の見え方が変わります。
パイソンエンジニア部

