第3回:Git

https://data-science-chiba.github.io/day3/

RStudioのデフォルト設定を
変えましょう

前のセッションのデータが残っていることは
再現的にダメ

Tools → Global Options → General → Workspace

  • “Restore .RData into workspace at startup” → 外す
  • “Save workspace to .RData on exit:” → “Never”

RStudioのデフォルト設定を
変えましょう

前のセッションのデータが残っていることは再現の観点
からダメ!

Screenshot showing how to change Rstudio settings for .RData

AIを使う時の注意点

  • 先週、AIを使ってみました。どんなことに注意が必要だと思った?

AIを使う時の注意点

  • 取扱注意のデータの扱い
    • このデータをAIに渡してもいいのか?(個人情報など)
    • 研究用に使う前に、指導教官と相談してください
  • 思う通りの結果にならないことがある
    • 正しく機能した状態に戻れる?

Gitとは?

  • Gitはバージョン管理ソフトウェアです。
  • MS WordやGoogle Docsの「変更履歴」機能のようなものですが、コード(テキスト)用です。

なぜGitを使うのか?

  • コードを共有するため
    • 再現性のために重要。他の人があなたのコードにアクセスできなければ、解析を再現できません。
  • 解析で試したことの履歴を残すため
    • 何を変更したかを後から確認できます。特に何かが壊れた時に重要です。
  • コードの開発を整理するため
    • すべての変更(“コミット”)にコメントを付けるので、どのようにコードを書いているかを意識できます。

GitHubとは?

  • Gitを使ったプロジェクトを管理するためのオンラインツール(サイト)
  • コードのクラウドバックアップのような役割も果たす。
  • 他の人とコードを簡単に共有できる。

セットアップ

  • パソコンにgitをインストールし、https://github.comでアカウントを作成しましょう。

gitのインストール

  • Mac
    • まずターミナルでgitと入力して、すでにインストールされているか確認
    • 必要ならHomebrewを先にインストール
  • Windows
  • Linux

GitHubアカウントの作成

GitHub認証:PAT

PAT(Personal Access Token)は特別なパスワードのようなものです。

SSHという別の認証方法もありますが、少し設定が複雑です。

GitHubでPATを作成

または、Rでusethisパッケージをインストールし、

install.packages("usethis")
usethis::create_github_token()
  • スコープ(権限)を確認。「repo」「user」「workflow」がおすすめ。create_github_token()を使うと推奨スコープが自動で選択されます。
  • 「Generate token」をクリック

PATの保存

  • 発行されたPATをクリップボードにコピー。まだブラウザを閉じないでください!
  • Rでinstall.packages("gitcreds")を実行し、
  • gitcreds::gitcreds_set()を実行。
  • 先ほどコピーしたPATを入力。これでブラウザを閉じてOKです。

完了!

PATについての注意

  • PATは(デフォルトで30日後に)期限切れになります。
  • 期限が切れたら、GitHubで新しいPATを作成し、再度gitcreds::gitcreds_set()で登録してください。
  • セキュリティのため、有効期限を設定するのがおすすめです。

トラブルシューティング

Could not find system gitのようなエラーが出た場合は、こちらを参照:

Tools -> Global Optionsgit/svnタブを選び、C:\Program Files\Git\bin\git.exeなど、gitの実行ファイルを指定してください。

gitに自分の情報を登録

gitにGitHubのユーザー名とメールアドレスを教えましょう:

git config --global user.name "your_github_username"
git config --global user.email "your_email_adress"
git config --global --list

デフォルト設定の変更

  • gitでは複数のバージョン(“ブランチ”)を同時に管理できます。
  • メインのブランチ名を「main」に設定しましょう:
git config --global init.defaultBranch main

リポジトリ(repo)について

  • 「リポジトリ(repo)」は、プロジェクトのコードやファイルをまとめて保存するフォルダです。

  • gitはリポジトリの中身を管理する

リモートとローカルのリポジトリ

  • ローカルリポジトリ:自分のパソコン上のプロジェクト
  • リモートリポジトリ:オンライン(GitHub上)のコピー
    • 通常、リモートリポジトリはoriginという名前で呼ばれます

クローン(cloning)

まだ自分のパソコンにないリポジトリをダウンロードしたいときは、

  • クローン=オンラインのリポジトリを自分のパソコンにコピーすること

プッシュとプル

リポジトリをセットアップしたら、内容を同期する必要があります。

  • プッシュ:ローカルの変更をリモートに送る
  • プル:リモートの変更をローカルに取り込む

コミット

  • コミットは、リポジトリに記録される1回分の変更です。

コミットには2つのステップがあります。

ステージングとコミット

変更したファイルは自動的にgitの履歴に追加されません。

  • まずステージング(追加したいファイルや部分を選ぶ)
  • 次にコミットメッセージ(変更内容の短い説明)を入力
  • 最後にコミットして履歴に記録します

.gitignoreファイル

gitで管理したくないファイルは、.gitignoreという特別なファイルにリストアップします。

生データや出力ファイルは通常無視するのが良いです。解析そのもの(コード)だけを管理しましょう。

実際の流れ

RStudioを使って、典型的なgitのワークフローを一緒に体験します。

細かい説明はこちらにまとめていますので、参照してください。