これまで、Rのスクリプトやプロジェクトの管理を、職場のサーバーに諸々保存して、リモートデスクトップで編集して、、、とゆー感じでやっていた。
けれど、新しい職場はセキュリティ対策的なもので、しょっちゅうネットワークがリセットされるし、繋がらなくなったりするし⋯⋯で、仕事のパフォーマンスがだだ下がり orz...。
でも、今更自宅にサーバーを構築するのも時間かかるし⋯⋯とゆーことで、以前アカウントだけ作ってほとんど触っていなかったGitHubを活用することにした。
初学者なので色々わかっていないけど、後からちゃんと見返せるように、手順を残しておく。
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のダウンロードとGitHubのアカウント作成
Gitのダウンロードとインストール
Gitは下記URLからダウンロードする(無料)。
git -- distributed-is-the-new-centralized
私はWindowsを使っているので、Windows版をダウンロード。
あとは、手順に従ってインストール。
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。
登録したメールアドレスに届く認証メールの内容に従い、ユーザー認証を行えば、登録完了。
・
・
・
次回は、Git統合を使用したRSudioでの作業をまとめる。
References
#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とはどんなものか、インストールの方法から実際のコマンドの使い方までを解説していきます。