🦁

R-studioとgithubの連携

に公開

R-studioのファイル情報をgithubで管理したいので連携する。

すでにR-studio上でプロジェクトを作成済みとする。

まずはgithub上で新しいリポジトリを作成する。

作成されたリポジトリの情報をR-Studioに登録する。
githubのリポジトリ作成後の画面にある「...or create a new repository on the command line」内のプロンプトをR-StudioのTerminalに打ち込んでいく。

$ echo "# econ_labor" >> README.md
「README.md」という説明用ファイルを作り,"# test_github" と書き込む

$ git init
現在のフォルダを「Git で管理するプロジェクト」として初期化する

$ git add README.md
作ったファイルを「次のコミットに含める」として登録する

$ git commit -m "first commit"
登録した変更を「first commit」というメッセージ付きで記録する

$ git branch -M main
メインの作業用ブランチの名前を「main」に変更する

$ git remote add origin git@github.com:(メールアドレス)/(リポジトリ名)
このプロジェクトに,GitHub 上のリポジトリを「origin」と
いう名前で設定する

$ git push -u origin main
ローカル(RStudio)で作成した内容を,GitHub 上のリポジトリ(origin のmain ブランチ)にアップロードする

これで連携終了。R-StudioのConsole上でコミットやプッシュなどの基本的な操作ができるようになる。

ただし、git pushする前に「git@github.com: Permission denied(publickey). fatal: Could not read from remote repository.」というエラーが出ることがある。

githubとR-studioを接続する際に、使用するSSHキーが作成されていない、あるいは、githubアカウントに登録されているキー情報と一致していないことを示している。

まずはSSHキーが作成されているかを確認する。

ls -la ~/.ssh

id_rsa や id_ed25519 といった秘密鍵(と.pubから始まるペア鍵)が作られていない場合は秘密鍵をR-Studio上で作成する必要がある。

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

ed25519は秘密鍵を作るためのアルゴリズムである(ほかにもアルゴリズムがあるよう)。このコマンドを実行すると
「Enter a file in which to save the key (/c/Users/yourname/.ssh/id_ed25519):」と尋ねられるので、ファイル名は特に変更せずに、そのままEnterを押す。その後、「Enter passphrase (empty for no passphrase):」と聞かれるので、何かしらのパスワードを設定する。キーを使用するたびにパスワードを聞かれるので、必ず覚えておく必要がある。

その後、再度以下のコマンドを実行すると、

ls -la ~/.ssh

「id_ed25519.pub」という名前のカギが生成されているはず。この生成された公開鍵(.pubファイル)の内容をGitHubに登録する。以下のコマンドを実行することで、秘密鍵の中身を確認する。

cat ~/.ssh/id_ed25519.pub

表示された ssh-ed25519 AAAA... から始まる文字列の全てをコピーする。

その後、githubの画面に移り、「Settings」 > 「SSH and GPG keys」 に移動する。「New SSH key」ボタンをクリックし、Key の欄にコピーした文字列を貼り付けて保存する。

最後に、SSH接続が正しく認証されるかテストする。

ssh -T git@github.com

「Hi [ユーザー名]! You've successfully authenticated...」と表示されれば成功です。これでgit pushがうまくいく。

Discussion