先日、自宅で使用するPCをWindowsPCからmacPCに替えることに。そのため、旧PCで使っていたgit情報を新PCへ引き継ぎをする必要に迫られました。
しかし、「git PC移行」などでググってもWeb初心者向きに説明された記事が見つからず。
そこで、ChatGPTに質問を投げかけながら作業を進めることにしました。今回の記事はそのときのログになります。
以下の環境で作業を進めています
OS:macOS Mojave
ChatGPTに雑な質問をぶん投げる
ChatGPTに雑な質問をぶん投げてみました。
旧PCで使用していたgitとgithubアカウントを、新PCでも使いたい。
すると、5項目に分けて欲しい回答を返してもらうことができました。
以下、回答を5項目に分けて載せていきます。
- Gitを新しいPCにインストールする
- Gitの設定を移行する
- SSH鍵を移行する
- GitHubアカウントを新しいPCに追加する
- リポジトリを複製する
Gitを新しいPCにインストールする
まず、新しいPCにGitをインストールする必要があります。
Gitの公式ウェブサイトから新しいPCのOSに合わせたインストーラをダウンロードし、インストールしてください。
Gitの設定を移行する
以前のPCでGitを使用していた場合、Gitの設定が新しいPCに移行されていない場合があります。新しいPCでGitを使用する前に、以下のコマンドを使用してGitの設定を移行することをお勧めします。
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
SSH鍵を移行する
SSH鍵を移行する手順
GitHubにSSH鍵を設定している場合、新しいPCでも同じSSH鍵を使用することができます。SSH鍵を移行するには、以下の手順を実行します。
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
※「id_rsa」には、.ssh内にある該当のファイル名が入る。そのままこぴぺではダメ。
これにより、新しいPCでも以前のPCと同じSSH鍵を使用できます。
〜/.sshディレクトリってどうやって見るの?【Windows編】
先ほど「鍵は通常、~/.ssh
ディレクトリにあります。」という話がありましたが、「そもそも~/.ssh
ディレクトリってどこにあるのだろう?」となったので、再度ChatGPTに回答を依頼しました。
WindowsPCで ~/.sshディレクトリを見つけたい
Windowsの場合、SSH鍵のデフォルトの保存先はC:\Users\ユーザー名\.ssh
です。
ただし、このディレクトリが隠しフォルダになっているため、ファイルエクスプローラーで直接アクセスすることができません。以下の方法で、隠しフォルダを表示してから、.ssh
ディレクトリにアクセスしてください。
もし、上記のディレクトリにSSH鍵が存在しない場合は、鍵を作成する必要があります。鍵の作成方法については、SSHクライアントソフトウェアのドキュメントを参照してください。
〜/.sshディレクトリってどうやって見るの?【mac編】
macPCで ~/.sshディレクトリを見つけたい
~/.ssh
ディレクトリは、ユーザーのホームディレクトリ内にあります。以下の手順でアクセスできます。
または、ターミナルを開いて以下のコマンドを入力することでアクセスできます。
cd ~/.ssh
これにより、現在のディレクトリを~/.ssh
に変更できます。
あれ?Finderでホームディレクトリの中身を見ても、.sshなんてものは見当たらないぞ
ターミナルで「cd ~/.ssh」というコマンドを打ってみたけど、「No such file or directory」が返ってきたぞ
そのことをChatGPTに伝えて、その後の対応を教えてもらいましたが、解決できず。
そこで、Googleに頼ることに。「mac .ssh どこ」と検索をかけてみました。すると、以下の記事が出てきました。解決案を見つけられました。
Windowsと同様に、macでも「隠しファイル・フォルダ」というものがあり、それらを編集したいときは表示させる必要があるようです。
以下の2つのコマンドを打つことで、「隠しファイル・フォルダ」の非表示を表示に切り替え、設定を反映させることができました。
defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder
反映が成功すると、以下の画像のようにグレーアウトされたフォルダ・ファイルが表示されます。
.sshが見つかりました。
eval $(ssh-agent -s)というコマンド
eval $(ssh-agent -s) というコマンドを打つと、Agent pid ○○(4桁の数字) が返ってきた。
ということをそのままChatGPTに伝えると、以下の回答が得られました。
eval $(ssh-agent -s)
コマンドは、SSHエージェントを起動するためのもので、戻り値としてエージェントのプロセスIDが返されます。Agent pid
○○というメッセージは、SSHエージェントのプロセスIDが○○であることを示しています。
SSHエージェントは、秘密鍵を暗号化して保存し、必要に応じて自動的に秘密鍵を解除することで、SSH接続をより便利に管理できるようにするためのものです。SSHエージェントを使用する場合、事前に秘密鍵をSSHエージェントに登録する必要があります。通常は、以下のようにして秘密鍵を登録します。
ssh-add ~/.ssh/id_rsa
※「id_rsa」には、.ssh内にある該当のファイル名が当てはまります。
このコマンドは、~/.ssh/id_rsa
にある秘密鍵をSSHエージェントに登録します。
もし「WARNING: UNPROTECTED PRIVATE KEY FILE!」という警告文が出てきたら、ファイルのパーミッションを「所有者のみが読み書きできる」という設定に変更する必要がある。
ssh-addコマンドを打つと、登録されたメールアドレスが返ってくるようになりました。そのことをChatGPTに伝えると、
それは成功した兆候です!ssh-addコマンドは、秘密鍵をssh-agentに追加し、ssh-agentを介してリモートサーバーに接続することができるようにします。登録されたメールアドレスは、鍵の所有者の情報です。これで、リモートサーバーにssh接続をすることができます。
という回答が得られました。無事に秘密鍵の登録が成功し、リモートサーバーにssh接続できるようになったようです。
GitHubアカウントを新しいPCに追加する
新しいPCでGitを使用するために、GitHubアカウントを新しいPCに追加する必要があります。以下の手順で追加してください。
git config --global credential.helper store
これにより、新しいPCでGitが認証情報を保存できるようになります。
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
git config --global credential.username "your_username"
git config --global credential.helper cache
git config --global credential.helper 'cache --timeout=3600'
以上で、旧PCで使用していたGitとGitHubアカウントを新しいPCでも使用できるようになりました。
リポジトリを複製する
新しいPCにGitとGitHubアカウントを追加したら、リポジトリを複製して新しいPCでも作業を続けることができます。以下の手順でリポジトリを複製します。
git clone <リポジトリのURL>
以上が、旧PCで使用していたGitとGitHubアカウントを新しいPCでも使用する方法についてでした。
ITエンジニアとして就職・転職を考えている人向けの記事もあるので、よかったら覗いてみてください。