PR

PC移行時のgitとgithubの設定

PC移行時のgitとgithubの設定 Git

先日、自宅で使用する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の公式ウェブサイト(https://git-scm.com/downloads)から、新しい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鍵を移行するには、以下の手順を実行します。

  • 以前のPCから、SSH鍵をコピーします。鍵は通常、~/.sshディレクトリにあります。
  • 新しいPCにSSH鍵を配置する場所を確認し、~/.sshディレクトリに鍵をコピーします。
  • 新しいPCでGit Bashを開き、以下のコマンドを実行します。
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa

※「id_rsa」には、.ssh内にある該当のファイル名が入る。そのままこぴぺではダメ。

これにより、新しいPCでも以前のPCと同じSSH鍵を使用できます。

〜/.sshディレクトリってどうやって見るの?【Windows編】

先ほど「鍵は通常、~/.sshディレクトリにあります。」という話がありましたが、「そもそも~/.sshディレクトリってどこにあるのだろう?」となったので、再度ChatGPTに回答を依頼しました。

ぼく
ぼく

WindowsPCで ~/.sshディレクトリを見つけたい

ChatGPT
ChatGPT

Windowsの場合、SSH鍵のデフォルトの保存先はC:\Users\ユーザー名\.sshです。

ChatGPT
ChatGPT

ただし、このディレクトリが隠しフォルダになっているため、ファイルエクスプローラーで直接アクセスすることができません。以下の方法で、隠しフォルダを表示してから、.sshディレクトリにアクセスしてください。

  1. ファイルエクスプローラーを開きます。
  2. [表示]タブをクリックし、[隠しファイル]の[表示]を選択します。
  3. これで、隠しファイルやフォルダが表示されるようになります。C:\Users\ユーザー名\.sshに移動し、必要なファイルにアクセスしてください。
ChatGPT
ChatGPT

もし、上記のディレクトリにSSH鍵が存在しない場合は、鍵を作成する必要があります。鍵の作成方法については、SSHクライアントソフトウェアのドキュメントを参照してください。

〜/.sshディレクトリってどうやって見るの?【mac編】

ぼく
ぼく

macPCで ~/.sshディレクトリを見つけたい

ChatGPT
ChatGPT

~/.sshディレクトリは、ユーザーのホームディレクトリ内にあります。以下の手順でアクセスできます。

  1. Finderを開きます。
  2. メニューバーの「移動」をクリックし、「フォルダへ移動」を選択します。
  3. ダイアログボックスに~/.sshと入力して、「移動」をクリックします。
ChatGPT
ChatGPT

または、ターミナルを開いて以下のコマンドを入力することでアクセスできます。

cd ~/.ssh

これにより、現在のディレクトリを~/.sshに変更できます。

ぼく
ぼく

あれ?Finderでホームディレクトリの中身を見ても、.sshなんてものは見当たらないぞ

ぼく
ぼく

ターミナルで「cd ~/.ssh」というコマンドを打ってみたけど、「No such file or directory」が返ってきたぞ

そのことをChatGPTに伝えて、その後の対応を教えてもらいましたが、解決できず。

そこで、Googleに頼ることに。「mac .ssh どこ」と検索をかけてみました。すると、以下の記事が出てきました。解決案を見つけられました。

Mac - Finderで隠しファイル・フォルダを表示する方法
MacのFinderで隠しファイル・隠しフォルダを表示する方法を紹介します。 隠しファイル・フォルダ 隠しファイルは、不可視ファイル・ドットファイルとも呼ばれ、Bashの設定ファイル(.bashrc、.bash_prof

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に追加する必要があります。以下の手順で追加してください。

  • GitHubにログインして、Settings > Developer settings > Personal access tokens に進み、新しいトークンを生成します。
  • トークンを生成したら、クリップボードにコピーします。
  • 新しいPCでGit Bashを開き、以下のコマンドを実行します。
git config --global credential.helper store

これにより、新しいPCでGitが認証情報を保存できるようになります。

  • 以下のコマンドを実行して、新しいPCでの認証情報を設定します。
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
  • 最後に、以下のコマンドを実行して、新しいPCでGitHubアカウントにログインします。
git config --global credential.helper 'cache --timeout=3600'

以上で、旧PCで使用していたGitとGitHubアカウントを新しいPCでも使用できるようになりました。

リポジトリを複製する

新しいPCにGitとGitHubアカウントを追加したら、リポジトリを複製して新しいPCでも作業を続けることができます。以下の手順でリポジトリを複製します。

  • ターミナル上で複製したいリポジトリに移動します。
  • 以下のコマンドを実行して、リポジトリを複製します。
git clone <リポジトリのURL>
  • 複製が完了したら、新しいPCで作業を続けることができます。

以上が、旧PCで使用していたGitとGitHubアカウントを新しいPCでも使用する方法です。

新しいPCでGitとGitHubアカウントを追加するときは、セキュリティ上の理由から、パスワードを使用せずにアクセストークンを生成することをお勧めします。アクセストークンは、パスワードよりも安全で、同じ権限を持つトークンを生成できます。

ほとんどChatGPTの回答文です。

今回の作業と記事作成において一部、ChatGPTでは解決できない問題があったり、回答文の中に文脈と文法の誤りがあって文章を訂正したりすることもありました。

しかし、基本的にはChatGPTの回答をそのまま使うことができるくらい、ChatGPTの回答が正確でした。本記事の文章はほとんどコピペです。

今後はChatGPTに存分に働いてもらいつつ、僕自身はChatGPTの回答を解釈したり応用したりすることに注力していきたいところです。

タイトルとURLをコピーしました