教室PCでUnity環境をマルチアカウントに

UnityHub設定

ユーザーごとログイン・ログアウトして使うこと

VSCode設定

ユーザーログインしたり、切り替えたりしなくても大丈夫。開いたフォルダのgitのconfigを読んでGitGraphなども動くはずなので、ユーザーが誰かは関係なく使えるはず。

GitHub SSH設定

前提

  • Windowsは教室共通アカウントを使用
  • 既に、別の環境でプロジェクトを作成し、GitHubリポジトリを作成済みとする
  • 生徒1のGitHubID:student01
  • 生徒1のGitHubメールアドレス:valon.student01@gmail.com

0.SSHの準備

PowerShellを開いて実行。

SSH用のフォルダがない場合用意しておく

`mkdir $HOME/.ssh`

作ったフォルダ(.ssh)にconfigファイルを作成

`New-Item $HOME/.ssh/config -ItemType File`

1. SSH鍵を作成

ssh-keygen -t ed25519 -C "student01" -f $HOME/.ssh/student01

パスフレーズを聞かれたら、教室PCでは運用を簡単にするため空欄。

次の2ファイルが作成される。

~/.ssh/student01    :秘密鍵(外部に公開しない)
~/.ssh/student01.pub:公開鍵(GitHubに登録する)

2. 公開鍵をGitHubに登録

student01.pub をメモ帳などで開き、中身をコピー。

GitHubの生徒1アカウントで、

Settings
→ SSH and GPG keys
→ New SSH key

を開く。

Titleは、

教室 Windows PC

などにする。

Keyに student01.pub の内容を貼り付けて登録。


3. SSHのconfigを設定

次のファイルを開く

~/.ssh/config

次の内容を追記する。(student01は置き換える)

Host student01
    HostName github.com
    User git
    IdentityFile ~/.ssh/student01
    IdentitiesOnly yes

4. 接続テスト

ターミナルで実行。

ssh -T git@student01

初回のみ確認されたら、

yes

を入力。

GitHubから生徒1のユーザー名を含む認証成功メッセージが表示されればOK。


5. UnityプロジェクトのGit設定

生徒1のUnityプロジェクトをVS Codeで開き、ターミナルで実行。

git config user.name "student01"
git config user.email "valon.student01@gmail.com"

※ --global は付けない。

これにより、このUnityプロジェクトだけ生徒1の設定になる。


6. GitHubリポジトリとの接続(接続先の変更)

通常のリポジトリではなく先に作成したSSH経由で接続するように設定を変更する。

例えばGitHubユーザー名が student01、リポジトリ名が MyGame 、ssh接続先が student01 なら、

git remote set-url origin git@student01:student01/MyGame.git

とする。


完成後の構成

Windows
│
├─ ~/.ssh/
│   ├─ config        :SSH設定ファイル
│   ├─ student01     :秘密鍵
│   └─ student01.pub :公開鍵
│
└─ Unityプロジェクト
    └─ .git/config << SSH経由で接続する設定に変更されている

以後、生徒1は通常通り commit → push / pull すればよい。

アカウント切り替え操作は不要。

1件のコメント

  1. リポジトリをクローンしたら、プロジェクトのフォルダで次のコマンドを実行する。

    gitユーザーの設定
    git config user.name “TankaTangusuten”
    git config user.email “5t5w9v4rc6@privaterelay.appleid.com”
    接続をSSH経由に変更
    git remote set-url origin git@TankaTangusuten:TankaTangusuten/UniSideGame.git

コメントする