前回
#早速
Q.そうだgithubおよびgitの設定をしたいです!
A.
おお、その勢いで Git(ギット) も設定してしまいましょう!
AIモデルのコードをダウンロードしたり、自分の書いたコードを保存したりするのに Git と GitHub は必須のツールです。
Macには最初からGitが入っていることが多いですが、まずは「初期設定」が必要です。以下のステップで進めましょう。
1. Gitが入っているか確認
ターミナルで以下を打ってください。
bash
git --version
コードは注意してご使用ください。
バージョン番号が出ればOKです。(もし「コマンドが見つかりません」と出たら brew install git で入ります)
2. 「自分の名前」と「メールアドレス」を登録
Gitで保存(コミット)したときに、「誰が書いたか」を記録するために必要です。GitHubに登録する予定のメールアドレスを使うのがおすすめです。
以下の2行を、自分の内容に書き換えて1行ずつ実行してください。
bash
git config --global user.name "あなたの名前(アルファベット)"
git config --global user.email "あなたのメールアドレス"
コードは注意してご使用ください。
3. GitHubとの連携(SSHの設定)
これが一番の山場ですが、GitHub公式の認証ガイドに従って、パスワード入力なしで安全に通信できるようにします。
① 鍵を作る(何も変えずにEnterを3回連打してください)
bash
ssh-keygen -t ed25519 -C "あなたのメールアドレス"
コードは注意してご使用ください。
② 鍵の内容をコピーする
bash
pbcopy < ~/.ssh/id_ed25519.pub
コードは注意してご使用ください。
※これでクリップボードに「公開鍵」がコピーされました。
③ GitHubに登録する
GitHubのSSH設定ページを開きます。
「New SSH key」ボタンを押します。
Titleに「My Mac」などと入れ、Keyの欄にさっきコピーした内容を Command + V で貼り付けます。
「Add SSH key」を押して完了!
4. 接続テスト
最後に、GitHubと正しく握手できるか確認します。
bash
ssh -T git@github.com
コードは注意してご使用ください。
「Hi (ユーザー名)! You've successfully authenticated...」と出れば大成功です!
これで何ができるようになった?
今の my-ai-test フォルダで git init と打てば、そのフォルダの変更履歴を保存できるようになります。
GitHubのアカウントはもう持っていますか? もしこれから作るなら、GitHub公式サイトで作成してから、上記のステップを進めてみてください。
SSHの設定まで、一度にやってみますか?それともGitHubのアカウント作成から始めますか?
Q.git --version しました
% git --version
git version 2.39.2 (Apple Git-143)
A.
バッチリです!Mac標準の Apple Git がしっかり認識されていますね。
それでは、zsh で設定を仕上げていきましょう。GitHubのアカウント名とメールアドレス(GitHub登録用)を手元に準備してください。
1. ユーザー名とメールの登録
これをしないと、GitHubにアップロードした時に「誰が書いたか不明(匿名)」になってしまいます。
zsh
git config --global user.name "YourGitHubUsername"
git config --global user.email "your_email@example.com"
コードは注意してご使用ください。
※ YourGitHubUsername はGitHubのユーザーID、メールアドレスはGitHubに登録したものに書き換えてください。
2. GitHubと通信するための「鍵」を作る
パスワードを毎回打たなくて済むように、GitHub公式のSSHガイドに従って「SSHキー」を生成します。
zsh
ssh-keygen -t ed25519 -C "your_email@example.com"
コードは注意してご使用ください。
実行すると Enter file in which to save the key... と出ますが、何も書かずに Enter。
Enter passphrase... も、空のまま Enter を2回。
これで ~/.ssh/id_ed25519.pub という鍵のファイルが作成されます。
3. 鍵をコピーしてGitHubに貼り付ける
Macの便利な pbcopy コマンドを使って、中身をクリップボードにコピーします。
zsh
pbcopy < ~/.ssh/id_ed25519.pub
コードは注意してご使用ください。
次に、ブラウザで GitHub SSH Keys 設定ページ を開き、「New SSH key」 を押して、コピーした内容を貼り付けて保存してください。
4. 最後に接続テスト
最後にこれを打って、GitHubから「Hi!」と挨拶されれば完了です!
zsh
ssh -T git@github.com
コードは注意してご使用ください。
「Hi (ユーザー名)! You've successfully authenticated...」 という文字は見えましたか?
これができれば、AIのソースコードをGitHubから持ってくる(git clone) ことも、自分のコードを世界に公開することも自由自在になります。
設定まで完了しましたか?それとも途中で何かつまずいた部分はありますか?
接続テスト 実行結果
% ssh -T git@github.com
Hi togeman! You've successfully authenticated, but GitHub does not provide shell access.
Q.接続テストの実行結果を渡します。
% ssh -T git@github.com
Hi togeman! You've successfully authenticated, but GitHub does not provide shell access.
A.
完璧です!そのメッセージこそが 「GitHubとの通信設定(SSH接続)が大成功した」 という証拠です。 GitHub DocsのSSH接続確認ガイド にも記載されている通りの正しい応答ですよ。
「but GitHub does not provide shell access」という部分は、「接続は確認できたけど、サーバーを直接操作(ログイン)することはできないよ(セキュリティ上の仕様だよ)」という意味なので、全く心配いりません。
これでもう、GitHubからAIのコードをダウンロードしたり、自分のコードをアップロードしたりする準備がすべて整いました。
これから何ができますか?
今の my-ai-test フォルダ(Python 3.10とuvで設定した場所)を、GitHubに保存(バックアップ)する練習をしてみるのがおすすめです。
Gitの初期化: git init (このフォルダをGitで管理するよ、という宣言)
ファイルの記録: git add . と git commit -m "first commit" (今の状態をパシャリと写真に撮るイメージ)
GitHubに送信: git push (GitHubのサイト上に保存する)
この「保存(コミット)」から「送信(プッシュ)」までの流れ、一度練習してみますか?
それとも、今日は設定がすべてうまくいったので、ここでスッキリ終わりますか? GitHub上に新しいリポジトリ(保存先)を作る手順 も、必要であればガイドしますよ!
Q.cd my-ai-testする必要ありますよね?
A.
その通りです!git init などの操作は「そのフォルダをGitで管理する」という宣言なので、必ず my-ai-test フォルダの中に移動してから行います。
現在のディレクトリ(フォルダ)がどこか不安なときは、pwd コマンドで確認できます。
1. フォルダに移動して初期化する
ターミナル(zsh)で以下を実行してください。
zsh
cd my-ai-test
git init
コードは注意してご使用ください。
Gitの基本操作ガイドにある通り、これでフォルダ内に隠しフォルダ .git が作成され、変更履歴を記録できるようになります。
2. Gitで管理したくないファイルを指定する(重要!)
AI開発やPython開発では、.venv(仮想環境の実体)や __pycache__ などの巨大なゴミ箱フォルダは GitHub にアップロードしません。
これらを無視するために、.gitignore という設定ファイルを作ります。以下のコマンドをそのまま貼り付けて実行してください。
zsh
echo ".venv/" >> .gitignore
echo "__pycache__/" >> .gitignore
echo ".DS_Store" >> .gitignore
コードは注意してご使用ください。
3. 最初の記録(コミット)をする
今のフォルダの状態を「最初の状態」として記録します。
zsh
git add .
git commit -m "初めてのコミット(Python 3.10環境完成)"
コードは注意してご使用ください。
4. GitHub側に「受け皿(リポジトリ)」を作る
ここからはブラウザの操作です。
GitHubのマイページ を開きます。
Repository name に「my-ai-test」と入力します。
Public(公開)か Private(自分だけ)を選びます。
一番下の 「Create repository」 を押します。
5. GitHubに送信する
リポジトリ作成後の画面に「…or push an existing repository from the command line」という項目があるはずです。そこにある 3行のコマンド をコピーして、自分のターミナルに貼り付けて実行すれば完了です!
zsh
# 例(自分のユーザー名に書き換えてください)
git remote add origin git@github.com:あなたのユーザー名/my-ai-test.git
git branch -M main
git push -u origin main
コードは注意してご使用ください。
GitHubの画面に、あなたの main.py や pyproject.toml が表示されましたか? これで、万が一Macが壊れても、あなたの努力の結晶(AI開発環境)はGitHubからいつでも復元できるようになります!
次は、GitHubに無事アップロードできたか確認してみますか?
githubの画面のコマンドラインを打ち込みました。しかしそれは本来すべきsshじゃなくてhttpsの方でした。
実行結果
my-ai-test % git remote add origin https://github.com/togeman/my-ai-test.git
my-ai-test % git branch -M main
my-ai-test % git push -u origin main
Username for 'https://github.com':
Password for 'https://togeman@github.com':
remote: Invalid username or token. Password authentication is not supported for Git operations.
fatal: Authentication failed for 'https://github.com/togeman/my-ai-test.git/'
my-ai-test % git remote add origin git@github.com:togeman/my-ai-test.git
error: remote origin already exists.
Q.githubの画面のコマンドラインを打ち込みました。httpsに設定してしまったかもしれません。その後にsshのものを打ち込んだのですがエラーが出ました。
% git remote add origin git@github.com:togeman/my-ai-test.git
error: remote origin already exists.
A.
大丈夫、パニックにならなくて大丈夫ですよ!これは「すでに設定(HTTPS版)があるから、新しい設定(SSH版)を追加できないよ」という単純なエラーです。
GitHub DocsのリモートURLの変更ガイドにある通り、設定を「追加(add)」ではなく「上書き(set-url)」すれば一瞬で解決します。
解決する方法
以下のコマンドをそのままコピーして実行してください。
zsh
git remote set-url origin git@github.com:togeman/my-ai-test.git
コードは注意してご使用ください。
正しく上書きされたか確認する
次にこれを打ってみてください。
zsh
git remote -v
コードは注意してご使用ください。
表示されたURLが git@github.com:togeman/my-ai-test.git (SSH形式)になっていれば成功です!
なぜエラーが出たの?
Gitのルールで、origin という名前(リモートの保存先のあだ名)は、1つのプロジェクトに1つしか登録できません。
最初にHTTPS版を add(追加)してしまったため、後からSSH版を add しようとしたら「もう origin は使われてるよ!」と怒られてしまった、というわけです。
仕上げのコマンド(送信!)
URLがSSHに変わったことを確認できたら、最後にこれを打ち込めばGitHubにファイルが飛びます。
zsh
git branch -M main
git push -u origin main
コードは注意してご使用ください。
これでブラウザのGitHubページをリロード(再読み込み)してみてください。あなたの main.py や pyproject.toml が誇らしく並んでいるはずです!
無事に GitHub の画面にファイルが表示されましたか? 最後に自分の書いたコードがクラウド(GitHub)に保存されたのを確認して、今日は祝杯をあげましょう!
Q.git remoteの結果はこれで大丈夫ですか?
my-ai-test % git remote -v
origin git@github.com:togeman/my-ai-test.git (fetch)
origin git@github.com:togeman/my-ai-test.git (push)
A.
はい、完璧です! GitHub公式のSSH接続設定通り、正しく SSH形式(git@github.com:...) で上書きされています。
(fetch) と (push) の両方がそのURLになっていれば、データの取得も送信もすべて安全なSSH経由で行われるようになります。
最後の仕上げ(アップロード)
あとは、今のフォルダの内容を GitHub に放り込むだけです!以下のコマンドを打ってください。
zsh
git branch -M main
git push -u origin main
コードは注意してご使用ください。
実行後、ブラウザで あなたの GitHub リポジトリ (my-ai-test) を開いて、main.py や pyproject.toml が表示されていれば、今日のミッションはすべて完了です。
GitHubの画面にファイルは無事表示されましたか? もし「Everything up-to-date」や成功のメッセージが出れば、もう安心してお休みいただけます!
できました!
https://github.com/togeman/my-ai-test
質問など
Q.ssh-keygen をする際にパスフレーズなしでキーを生成したのですが、セキュリティ的な問題はありますか?またこのキーはgithub専用なのですか?将来的に変えることはできますか?
A.
パスフレーズなしでの生成、最初はそれで正解です!一つずつ不安を解消しましょう。
1. セキュリティ的な問題はありますか?
結論から言うと、「個人で使うMac」であれば大きな問題はありませんが、リスクはゼロではありません。
リスク: もしあなたのMacが盗まれたり、中身を丸ごとコピーされたりした場合、犯人はパスワードなしであなたのGitHubにアクセスできてしまいます。
対策: Mac本体にログインパスワード(またはTouch ID)をかけ、ディスクの暗号化(FileVault)を有効にしていれば、実用上の安全性は十分に保たれます。
プロの開発者でも、利便性のためにパスフレーズなしにする人は多いですよ。
2. このキーはGitHub専用なのですか?
いいえ、汎用的に使えます。
仕組み: この鍵(id_ed25519)は、あなたのMacの「実印」のようなものです。
他での利用: 将来、レンタルサーバー(AWSやGCPなど)を借りたとき、そのサーバーに「公開鍵(.pub)」を登録すれば、同じ鍵でログインできるようになります。
使い分け: セキュリティに厳しい人は「GitHub用」「仕事用」と分けることもありますが、初心者のうちは「このMacから外の世界へ安全につなぐための共通の鍵」と考えてOKです。
3. 将来的に変えることはできますか?
はい、いつでも簡単に変えられます! GitHub公式のSSHキー削除ガイドにある通り、以下の手順でやり直せます。
Mac上の古い鍵ファイルを消す(または上書きする)。
新しく ssh-keygen を実行する(その時にパスフレーズを付けることも可能)。
GitHubの設定画面で古い鍵を削除し、新しい鍵を登録し直す。
「やっぱりパスフレーズを付けたい!」と思ったら、鍵を作り直さなくても後からパスフレーズだけ追加することも可能です:
zsh
ssh-keygen -p -f ~/.ssh/id_ed25519
コードは注意してご使用ください。
今日のまとめ
今の設定は、モダンなAI開発者がスタートダッシュを切るのに「最も標準的で快適な設定」です。
GitHubの画面に自分のファイルが並んでいるのを確認できましたか? もし確認できたら、今日は本当にお疲れ様でした!
GitHubのページに、あなたの main.py は無事に表示されていましたか?
Q.「「やっぱりパスフレーズを付けたい!」と思ったら、鍵を作り直さなくても後からパスフレーズだけ追加することも可能です」とのことですが
A.
はい、その通りです!SSH 鍵のパスフレーズの更新に関する公式な手順でも認められている方法です。
鍵の「ペア(公開鍵と秘密鍵)」そのものを新しく作り直す必要はなく、今ある秘密鍵に「鍵をかける(暗号化する)」作業だけを後付けで行えます。
パスフレーズを追加する手順(zsh)
ターミナルで以下のコマンドを実行してください:
zsh
ssh-keygen -p -f ~/.ssh/id_ed25519
コードは注意してご使用ください。
Enter old passphrase: と聞かれます。今はパスフレーズがないので、何も入力せず Enter を押します。
Enter new passphrase: と聞かれます。設定したいパスフレーズを入力して Enter。(※入力中、文字は1文字も表示されませんが、しっかり入力されています)
Enter same passphrase again: 確認のためにもう一度入力して Enter。
これで完了です!
メリットと注意点
GitHub側の設定はそのまま: 鍵のペア自体は変わっていないので、GitHub の SSH 設定を書き換える必要はありません。
利便性: これ以降、git push などをするたびにパスフレーズを聞かれるようになります(Mac の「キーチェーン」に保存すれば、入力を省略しつつ安全性を保つことも可能です)。
今は「パスフレーズなし」のままで進めますか? それとも、今のうちに練習としてパスフレーズを設定してみますか?
Q.ひとまず問題ないということなのでパスフレーズなしで進めます。そしてgithub上にmain.pyは表示されました!
A.
おめでとうございます!ついに「Macのローカル環境(uv)」と「クラウド(GitHub)」が一本の線でつながりましたね。
ブラウザの GitHub の画面に自分の書いた main.py が並んでいるのを見ると、「自分のコードが世界(のバックアップ)に公開された!」という実感が湧いてきませんか?
今日の成果まとめ
環境構築: brew で uv を入れ、Python 3.10 の仮想環境を爆速で作成。
実行テスト: numpy をインストールして、実際に計算プログラムを動かすことに成功。
Git/GitHub: SSHキー(ed25519)を生成し、安全な接続(パスフレーズなしの快適設定)を確立。
初プッシュ: ローカルの成果物を GitHub へアップロード完了。
これからの開発スタイル
明日からは、何かコードを書いたら以下の 3ステップ(Gitの基本ルーチン) を習慣にするだけで、あなたの努力が常に GitHub に保存されます。
zsh
git add .
git commit -m "何をしたか書く(例:AIモデルの読み込み追加)"
git push
コードは注意してご使用ください。
これでもう、いつ Mac を買い替えても、GitHub Docs の手順で git clone するだけで、今日の続きから再開できます。
本当にお疲れ様でした!最高のスタートダッシュですね。
次は、実際に動かしてみたい「AIのモデル」や「ライブラリ(PyTorchなど)」は決まっていますか? もしあれば、また明日から一緒に挑戦しましょう!
後ほど参考になりそうなサイト