UnityのプロジェクトをGitHub, SourceTreeで管理

目的

UnityのプロジェクトをGitHubとSourceTreeで管理しようとしたらアクセス周りの話で色々問題が発生したので,対処法のメモ.

現状やったこと

  • リポジトリの作成

  • Unityでプロジェクトを作成(中身の変更はなし)

  • Unityでignoreするとよいらしいものをまとめた.gitignoreをダウンロード

  • SourceTreeにGitHubのアカウント追加

問題

SSHキーがうまく設定できてなくて,リモートリポジトリからプルしたり,プッシュしようとすると怒られが発生する.

例えば,pullしようとすると次のようなのが吐かれる.

git --no-optional-locks -c color.branch=false -c color.diff=false -c color.status=false -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree fetch origin 
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Completed with errors, see above


対処してみたこと

chatGPTにエラー投げてみた

次のような感じで反応が返ってきた.

SSHキーを設定してGitHubアカウントを使用してリモートリポジトリにアクセスする手順は以下の通りです
1.SSHキーの生成: ターミナルを開いて、以下のコマンドを実行します。キーのタイプはED25519を使用することが推奨されていますが、必要に応じてRSAキーを選択することもできます。

ssh-keygen -t ed25519 -C "your_email@example.com"

このコマンドを実行すると、SSHキーペアが ~/.ssh ディレクトリに生成されます。パスフレーズを設定するかどうか聞かれますが、空でも構いません。


2.SSHキーエージェントの起動: ターミナルで以下のコマンドを実行してSSHキーエージェントを起動します。

eval "$(ssh-agent -s)"

3.SSHキーの追加: SSHキーエージェントに生成したSSHキーを追加します。以下のコマンドで行います。ファイル名は生成したキーの名前に置き換えてください。

ssh-add ~/.ssh/id_ed25519

4.公開鍵のコピー: 生成したSSHキーの公開鍵をクリップボードにコピーします。

pbcopy < ~/.ssh/id_ed25519.pub

もし pbcopy コマンドが使えない場合は、公開鍵の内容を手動でコピーしてください。

5.GitHubにSSHキーを追加:
GitHubアカウントにログインし、右上のプロフィール画像をクリックして「Settings」を選択します。

左側のメニューから「SSH and GPG keys」を選択し、「New SSH key」をクリックして新しいキーを追加します。公開鍵の内容を「Key」フィールドに貼り付け、適当なタイトルを入力して追加します。


6.リモートリポジトリのURLを変更: リモートリポジトリのURLをSSH形式に変更します。

git remote set-url origin git@github.com:ユーザー名/リポジトリ名.git

ここで、ユーザー名リポジトリ名は適切なものに置き換えてください。


これでSSHキーが設定され、GitHubリポジトリにアクセスできるようになるはずです。もしまだ問題が解決しない場合は、具体的なエラーメッセージや設定情報を提供していただけると、さらに具体的なサポートを行えるかもしれません。

https://chat.openai.com/

この手順通りに進めてみた.

生成したSSHキーの名前は、デフォルトでは id_ed25519 という名前になります。このキーペアは .ssh ディレクトリに保存されます。
したがって、キーペアのファイル名は以下の通りです:

  • 秘密鍵: ~/.ssh/id_ed25519

  • 公開鍵: ~/.ssh/id_ed25519.pub

このファイル名は、SSHキーの生成時に変更しない限りデフォルトのままです。もし別の名前でキーを生成したい場合は、SSHキーの生成時に -f オプションを使用してファイル名を指定することができます。以下は例です:

javascriptCopy codessh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/my_custom_key

この場合、秘密鍵は ~/.ssh/my_custom_key に保存され、公開鍵は ~/.ssh/my_custom_key.pub に保存されます。
ただし、基本的にはデフォルトの id_ed25519 という名前を使用して問題ありません。もし別の名前を使用する場合でも、公開鍵は .pub 拡張子を持つファイルとなります。

この通りにやったらpullもpushも出来るようになった.

chatGPT様様.

この記事が気に入ったらサポートをしてみませんか?