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