RStudio-Git-GitHub-logo

RStudioとGitHubを連携させて使えるようになるまでの道のり。

前回、RStudioとGitとの連携まで行いました。

今回は、RStudioとGitHubとの連携まで。

事前準備

事前準備として必要な事リスト
  • RとRStudioのインストール
  • Gitのインストールと初期設定
  • GitHubアカウントの作成
  • RStudioとGitとの連携

方法は下記参照。

SSHの設定

GitHubと接続する際、HTTPSを使う方法と、SSH(Secure SHell)を使う方法がある。

HTTPSを使ってもよいけれど、SSHを使った方がよりセキュリティが強くなるので、今回はSSHを使って接続する方法を書き留めておく。

RStudio:公開鍵の取得

RStudioには、公開鍵が用意されている。

RStudioを開き、「Tools」-> 「Global Options...」

RStudio-GitHub-SSH-1

「Git/SVN」を選択し、「Create SSH Key...」をクリック。

RStudio-GitHub-SSH-2

SSH key typeは「ED25519」でOK。Passphraseを設定した方がよりセキュリティが強くなるようだけど、よくわからないので今回はこのまま。

RStudio-GitHub-SSH-3

「create」を押して閉じると、SSHの情報が現れる。

RStudio-GitHub-SSH-4

Optionsウィンドウに戻り、「SSH key:」の右側にある「View public key」をクリック。

RStudio-GitHub-SSH-7

「public key(公開鍵)」が現れてSSHが表示されるのでコピーしておく。

RStudio-GitHub-SSH-8

GitHub:公開鍵の登録

GitHubへ移動して、右上のアイコンをクリック -> 「Settings」を選択。

RStudio-GitHub-SSH-6

SSH and GPG keys -> 「New SSH key」ボタンをクリック。

RStudio-GitHub-SSH-5

Titleを適当につけ、「Key」のところに「RStudio」で取得したSSHをペーストする。

RStudio-GitHub-SSH-10

「Add SSH Key」ボタンをクリックすると、完了。

RStudio-GitHub-SSH-9

GitHubでリポジトリ(Repository)を作成

GitHubのアカウントへ移動し、Dashboardの左上にある「New」ボタンをクリック。

RStudio-GitHub-SSH-13

Repository nameをつける(今回は"test")

RStudio-GitHub-SSH-14

PublicかPrivateを選択。

Publicにすると全世界に公開される。Privateを選択すると、公開されない。

※以前はPrivateは有料だったけれど、現在は、無料アカウントでもPrivateが使用でき、「自分とあと3人のユーザーのみで共有できる」ようになった。

私はまだ個人使用レベルなので、「Private」を選択。

RStudio-GitHub-SSH-15

そのファイル/プロジェクトについての長い説明を記載する場合は、「Add a README file」に☑を入れる。

Git管理しないファイルを追加するときは、「Add .gitignore」に追加する(けど、後からRStudioの方でいくらでも追加できるので、今回はそのまま)。

RStudio-GitHub-SSH-16

設定が完了したら、右下の「Create repository」を押して作成。

"test" リポジトリが作成された。

GitHub-Create

GitHubリポジトリをClone

GitHubでCloneする方法を選択

リポジトリ右上にある「<>Code」を押すと、連携するためのURLが表示される。

「HTTPS」か「SSH」かどちらかを選んでコピーする。

せっかくSSH設定したので、今回は「SSH」を選択(SSH設定をしていなかったら、HTTPSしか選択できない)。

表示された「SSH」をコピーする。

RStudio-GitHub-SSH-12

ローカルのRStudioにClone

RStudioに移動し、「File」->「New Project」

RStudio-GitHub-SSH-21

「Version Control」を選択。

RStudio-GitHub-SSH-18

「Git」を選択。

RStudio-GitHub-SSH-19

「Clone Git Repository」に、URLを入力する。

RStudio-GitHub-Repository

作業が成功すると、「Git」ペインの右上に「master」と「New Branch」のボタンが現れる。

「master」はローカルリポジトリ。「New Branch」で新たなブランチを作成できる。

RStudio-GitHub-SSH-22

既に作成済みのGitリポジトリをRStudioにCloneする場合

GitHubに移動し、左上のGitHubのアイコンをクリック。

任意のリポジトリを選択。

RStudio-GitHub-SSH-11

リポジトリ画面になるので、右上の「<>Code」ボタンを押して画面を表示させる。後は前述の通り。

RStudio-GitHub-SSH-12

既に作成済みのRプロジェクトをGitHubに連携する場合

既にRStudioでProjectを色々と作成していた場合は、そのProjectをRStudioからGitHubに連携させることができる。

別にスクリプトに書いてもよいのだけれど、この作業は1回しか行わず、保存する必要がないので、コンソールに書いた方が効率的。

configure-git-1

Personal Access Token (PAT)の作成

まずは、usethisをインストール。

install.packages("usethis")
library(usethis)

そして、create_github_token()を使ってGitHubのPATを作成する。

create_github_token()

Enterを押すと、下記outputが出てきて、

output
☐ Call gitcreds::gitcreds_set() to register this token in the local Git credential store.
ℹ It is also a great idea to store this token in any password-management software that you use.
✔ Opening URL
<https: //github.com/settings/tokens/new?scopes=repo,user,gist,workflow&description=DESCRIBE THE TOKEN'S USE CASE>.

GitHubアカウントの画面に移動する。

GitHub-PAT-1

パスワードを入れてEnterすると、自分のアカウントの「Takens(classic)」のページに入る。

GitHub-PAT-2

一番下までスクロールして、「Generate token」でPATを作成。

GitHub-PAT-3

PATが作成されたので、横のコピーマークをクリックしてコードをコピー。

GitHub-PAT-4

RStudioにPATを登録

コードをコピーしたままRStudioに戻り、コンソールに貼り付ける。

まずは、gitcredsを読み込む。

library(gitcreds)

そして、gitcreds_set

gitcreds_set()

? Enter password or token:と出てくるので、先ほどコピーしたPATを貼り付ける。

? Enter password or token: "コピーしたPAT"

この作業でPATが登録される。

output
-> Adding new credentials...
-> Removing credentials from cache...
-> Done.

GitHubにリポジトリ登録

usethisを読み込み、`git_github()

library(usethis)
use_github()

すると、GitHub画面が現れ、新しくリポジトリが作成される。

GitHub-PAT-5

※ use_github()でエラーが起こった場合

use_github()と入れて下記エラーになった場合、

output
Error in `git_default_branch()`:
✖ Can't determine the local repo's default branch.
Run `rlang::last_trace()` to see where the error occurred.

これはinitial commitをしておらず、branchが見当たらないから。

initial commitをすると、

RStudio-Git-8

branchのところが「master」となり、作業を進める事ができる。

GitHub-PAT-6

initial commitの方法はこちらの記事を参照。

References