これまで、Rのスクリプトやプロジェクトの管理を、職場のサーバーに諸々保存して、リモートデスクトップで編集して、、、とゆー感じでやっていました。
けれど、新しい職場はセキュリティ対策的なもので、しょっちゅうネットワークがリセットされるし、繋がらなくなったりするし⋯⋯で、仕事のパフォーマンスがだだ下がり orz...。
でも、今更自宅にサーバーを構築するのも時間かかるし⋯⋯とゆーことで、以前アカウントだけ作ってほとんど触っていなかったGitHubを活用することにしました。
初学者なので色々わかっていないけど、後からちゃんと見返せるように、手順を残しておきます。
(いくつか被っている項目もあるけど、あしからず。)
- RとRStudioのインストール
- Gitのインストール
- RStudioの情報をGitへ伝える(Configuration)
- RStudioでローカルリポジトリの作成とGitの「Initial commit」
- GitHubのアカウント作成
- SSH鍵の設定と認証(※optional)
- GitHubでリポジトリを作成
- GitHubのリポジトリをRStudioに「Clone」
- RStudioで作成したスクリプトを「Commit」 → GitHubに「Push」
- GitHubのリポジトリからRStudioに「Pull」
- GitHubのブランチ(Branch)を作って作業する
- GitHub Copilot と ChatGPT を取り込む(※ optional)
Git/GitHub・用語説明
詳しい説明はたくさんサイトがあるので、ここではterminologyをさらっと。
Gitとは
Git(ギット)とは、プログラムのソースコード等の編集履歴を残して、把握・追跡できるバージョン管理システムのこと。
リモートサーバにあるリモートリポジトリのコピーを、手元のローカル環境に作成し、ローカルリポジトリを使って作業し、またリモートサーバに保存して⋯⋯という形で管理する。
RStudioもGitに連携してプロジェクト管理ができる。
GitHubとは
GitHubは、GitリポジトリをホスティングするWebサービスで、ソースコードのバージョン管理と、プロジェクトの共同作業を可能にするプラットホーム。
私は主に個人で使うけど、将来的にはチームで使えるようになるといいなあ。
ローカルデポジトリとリモートデポジトリ
ローカルデポジトリ(local repository)
ローカルデポジトリは、手元のPCに配置するデポジトリのこと。
Gitがこれにあたる。
手元のPCで作業し、そのデータは後述のリモートデポジトリに保存する。
リモートデポジトリ(remote repositoryI
Gitサーバ上に配置するリポジトリで、複数人で共有する。
GitHubがこれにあたる。
その他の基本用語
ワークツリー(worktree)
実際に作業をしているディレクトリのこと。ワークツリーで作業が完了したら、ファイルやディレクトリをインデックスに登録(add)する。
インデックス(index)
コミット対象のファイルをまとめた場所。
プッシュ(push)
ローカルリポジトリにあるブランチをリモートリポジトリに送信する作業。
コミット(commit)
ソースコードが完成して、リポジトリに更新する作業。
アド(add)
ソースコードをリモートリポジトリに反映させる時、すぐにワークツリーからリポジトリに反映させるのではなく、その間にインデックスというスペースがある。
このスペース(ワークツリーからインデックス)に登録する作業。
プル(pull)
リモートリポジトリとローカルリポジトリの差分のみをローカルリポジトリに取り込み、更新する作業(更新はワークツリーにも反映する)。
フェッチ(fetch)
リモートリポジトリから最新情報をローカルリポジトリに持ってくる作業。
マージ(merge)
fetchを使ってローカルに持ってきた最新情報を更新すること。
クローン(clone)
リモートリポジトリをローカルリポジトリに全て取り込むコマンド。
Gitのダウンロードとインストール
Gitのダウンロード
Gitは下記URLからダウンロードする(無料)。
git -- distributed-is-the-new-centralized
私はWindowsを使っているので、Windows版をダウンロード。
Gitのインストール
ダウンロードした「Git Setup」をダブルクリックして開き、手順に従ってインストールする。
基本デフォルトのままだけど、いくつか変更した。
- Choosing the default editor used by Git:Use Visual Studio Code as Git's default editorに変更
- Choosing JTTPS transport backend:Use the native Windows Secure Channel libraryに変更
- Configuring the terminal emulator to use with Git Bash:Use Window's default console windowに変更
私が選択した内容の足跡はこんな感じ↓
ここまで設定したら、Install画面が現れ、
インストール完了。
インストールの確認
Win+R →「cmd」でコマンドプロンプトを開き、git --version
を実行してバージョンが出力されたらOK。
Microsoft Windows [Version ...]
(c) Microsoft Corporation. All rights reserved.
C: \Users\...>git --version
git version 2.47.0.windows.1
C: \Users\...
念の為PCを再起動。
Git初期設定
Git Bashから行う場合
「スタート」の中にあるGit Bashを起動。
Gitのユーザー名とアカウント名を設定。
$ git config --global user.name "mom"
$ git config --global user.email "mom@email.com"
git config --list
で確認。
$ git config --list
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
http.sslbackend=schannel
core.autocrlf=true
core.fscache=true
core.symlinks=true
pull.rebase=false
credential.helper=manager
credential.https://dev.azure.com.usehttppath=true
init.defaultbranch=master
user.name=mom
user.email=mom@gmail.com
RStudioから行う場合
Rのコンソールからも初期設定できる。
別にスクリプトに書いてもよいのだけれど、この作業は1回しか行わず、保存する必要がないので、コンソールに書いた方が効率的。
まずは、usethis
パッケージをインストールする。
install.packages("usethis")
library(usethis)
Gitにユーザー名とEmailアドレスを登録する。
use_git_config(user.name="ユーザーネーム", user.email="Emailアドレス")
実行後、特に何も変わっていないように見えるけど、実際にはバックグランドでGitのユーザー名とEmailアドレスが登録されている。
GitHubのアカウント作成
GitHubのサイト (https://github.com/join) でアカウントを作成。
GitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over 420 million projects.
メールアドレス、ユーザ名、パスワードを入力し、プランを選択。
まずは無料プランでOK。
登録したメールアドレスに届く認証メールの内容に従い、ユーザー認証を行えば、登録完了。
References
Learn the essentials of using Git and GitHub with RStudio. This guide explains how to integrate version control into your R projects for better collaboration.
#post_excerptGitとGitHubの違いを徹底解説!基本的な違いから使用目的、機能の違いまで詳しく説明し、個人開発およびチーム開発での具体的な使い方を紹介します。初心者から上級者まで役立つ情報満載です。
1. 趣旨最近になって、Rのスクリプトやプロジェクトの管理をGitで始めました。いや~~~~~非常に便利。僕の中ではイノベーション。これはスクリプト書くのが楽しくなる。ということで、「Gi…
AKKODiSは、成功をわかち合うパートナーとして、企業の生産性を高めるDXやビジネストランスフォーメーションを実現します。今や開発者にとって欠かせない存在といっても過言ではないのが「GitHub(ギットハブ)」。これは、世界中の人々がプログラムコードやデザインデータを保存・公開できるソースコード管理サービスのことです。そこで今回は、GitHubとはどんなものか、インストールの方法から実際のコマンドの使い方までを解説していきます。
GitHub の使用を開始するための個人用アカウントを作成します。
フレームワーク 事前準備:Github/Gitの環境構築 事前準備:Projectをつくる 事前準備:Projectの内部構造 編集する コミットする プッシュする まとめ 再現性のあるコーディングはとても重要だが、整理の仕方をまとめたものがほとんどない。個人の好みが大きく出るところだが、自然選択を経て私が到達したレポジトリの作り方をまとめてみる。前提条件としてR Studioを使っていることを想定するが、そうでなくとも基本構造は使える。 フレームワーク ローカル(自分のパソコン)とオンラインレポジトリ(Github)を連携する環境を作る。変更履歴を残しながらオンラインレポジトリに保存することで、デバッグ(エラーがないかチェックすること)・再現・シェアしやすくなる。大枠としては以下: レポジトリ(コードなど)を編集する 変更履歴をGitに記録する(コミット) 編集をGithubに反映する(プッシュ) 1に戻る 事前準備:Github/Gitの環境構築 Happy Git and GitHub for the useRがかなり丁寧にまとめてくれているので、こちらをぜひ一読してほしい。以下は最低限の環境構築の手順を説明する。 Githubでアカウントをつくり、オンラインでのストレージ先を確保する。このアカウント名はレポジトリのリンクに必ず含まれるので、極端に長いものや、大文字を含むものは避けたい。このアカウントにローカルで作成したレポジトリを追加する。基本、Github上でレポジトリは編集せず、ローカルで編集したものをオンラインにプッシュする形で更新する。 Gitをインストールする。ローカルで機能するもので、編集履歴を自動管理するための装置(バージョンコントロールシステム)である。Gitでは、コミットすることで編集履歴を記録してくれる。変更箇所は自動認知してくれるため、この作業が非常に楽になる。基本デフォルトの設定のままインストールすれば問題ないが、念のためこちらを読んでおくといいかもしれない。 Git clientをインストールする。Gitはターミナルから直接操作もできるが、ややとっつきにくい。そこで、操作しやすいGUIを提供してくれるGithub Desktopをここでは使うことにする。ほかの選択肢についてはこちらを参照するとよい。 事前準備:Projectをつくる Gitの環境構築が済んだらProjectを作る(メニューバーのFile > New Project > New Directory > New Project )。このとき、以下のウインドウでCreate a git repositoryにチェックし忘れないようにする。このProjectに論文一つの必要情報をすべて入れる(生データ、コード、論文原稿)。 R Projectの作成画面。“Create a git repository”にチェックし忘れないようにする。なお、Gitがインストールされていないとこのチェックマークは選択不可。 プロジェクトは、初期ファイルとして以下のファイルを含んでいる。 project_name.Rproj: プロジェクトのメタデータファイルのようなもの。プロジェクトを開きたいときはこれを開く。プロジェクトが開かれている場合は、R Studio右上にproject_nameがみえる。開いていない場合はProject: (None)となる。
チーム開発をしていく上で欠かせない、Git/GitHubについて自分なりにまとめてみました。超基礎的な部分ですが、大まかな流れを理解するのに役立てば幸いです! Git/GitHubとは GitとGitHub Gitとは、 […]
AKKODiSは、成功をわかち合うパートナーとして、企業の生産性を高めるDXやビジネストランスフォーメーションを実現します。今や開発者にとって欠かせない存在といっても過言ではないのが「GitHub(ギットハブ)」。これは、世界中の人々がプログラムコードやデザインデータを保存・公開できるソースコード管理サービスのことです。そこで今回は、GitHubとはどんなものか、インストールの方法から実際のコマンドの使い方までを解説していきます。