GitHub のセットアップ

GitHub とは

GitHub はバージョン管理システム Git をインターネット上で利用できるようにしたサービスです。卒論に関するデータ、プログラム、日々の議事録や論文そのものなど、加筆修正するファイルをこのシステム上で管理すると、喪失することがなくなるので便利です。

アカウントの作成

  1. GitHub にアクセス
  2. 「Sign up」をクリック
  3. メールアドレス、パスワード、ユーザー名を設定
    • メールアドレスは @psy.senshu-u.ac.jp を推奨
  4. アカウント作成後、メールで届く確認リンクをクリック

GitHub Desktop のインストール

GitHub Desktop は GitHub を GUI で操作できるアプリケーションです。

  1. GitHub Desktop にアクセス
  2. 自分の OS に合ったバージョンをダウンロード
  3. インストール後、GitHub アカウントでログイン

SSH キーの設定(RStudio との連携)

RStudio から GitHub にアクセスするために SSH キーを設定します。

1. SSH キーの生成

RStudio で Tools > Global Options > Git/SVN を開き、「Create SSH Key…」をクリックします。

  • Key type: ED25519(デフォルト)
  • Passphrase: 空欄でも OK

「Create」をクリックすると、SSH キーが生成されます。

2. 公開鍵のコピー

同じ画面で「View public key」をクリックし、表示された文字列をすべてコピーします。

3. GitHub に登録

  1. GitHub にログイン
  2. 右上のアイコン → Settings → SSH and GPG keys
  3. 「New SSH key」をクリック
  4. Title に任意の名前(例:MacBook Pro
  5. Key に先ほどコピーした公開鍵を貼り付け
  6. 「Add SSH key」をクリック

4. Git の初期設定

RStudio のコンソールで以下を実行します(自分の情報に置き換えてください):

# usethis パッケージのインストール(初回のみ)
install.packages("usethis")

# ユーザー名とメールアドレスの設定
usethis::use_git_config(
  user.name = "あなたの名前",
  user.email = "あなたのメールアドレス"
)

リポジトリのクローン

RStudio から

  1. File > New Project > Version Control > Git
  2. Repository URL に SSH アドレス(git@github.com:...)を入力
  3. プロジェクトを保存する場所を指定
  4. 「Create Project」をクリック

GitHub Desktop から

  1. File > Clone repository
  2. URL タブでリポジトリの URL を入力
  3. Local path でクローン先を指定
  4. 「Clone」をクリック

基本的なワークフロー

  1. Pull:GitHub 上の最新の変更を取得
  2. 作業:ファイルの編集・作成
  3. Commit:変更をローカルに記録
  4. Push:変更を GitHub に送信

この順序を守ることで、チームでの共同作業もスムーズに行えます。

よくあるエラーとその対策

Pull を押したら “fatal: Need to specify how to reconcile divergent branches”

セットアップした直後に最初の Pull を押すと,下のような赤字ダイアログが出て止まることがあります。

Pull で fatal: Need to specify how to reconcile divergent branches が出た RStudio の画面

メッセージ本文 (上のスクショの抜粋):

hint: You have divergent branches and need to specify how to reconcile them.
hint:   git config pull.rebase false   # merge
hint:   git config pull.rebase true    # rebase
hint:   git config pull.ff only        # fast-forward only
...
fatal: Need to specify how to reconcile divergent branches.
ノートこのダイアログが出たら「設定がまだ終わってないサイン」です

このエラーは「リポジトリが壊れた」のではなく,最初の git config を打ち忘れただけです。 RStudio のコンソールで以下を一度だけ実行して,もう一度 Pull を押せば動きます。

system("git config --global pull.rebase false")

意味: 「リモート側にコミットがあって自分のローカルにもコミットがあるとき,どう合体させるか」を Git に教える設定です。pull.rebase false を指定すると merge (=2つのコミットを並べて新しい合流コミットを作る) で取り込みます。ゼミでは merge 派で統一しています。

その他のエラー (CONFLICT, rejected, would be overwritten など)

実際の作業でぶつかる他のエラーは Git で困った時の対処 にまとめてあります。エラーダイアログを閉じる前にそちらを確認してください。