RStudio-Git-GitHub-logo

RStudio の Terminal から GitHub にコードを反映する方法の覚書。

 RStudio-terminal

もちろん、Git Bash でも使える。 RStudio の反応が悪い時には、Git Bash から送信したほうが早い場合も多い。

GitBash

今回は、研究コード管理で頻用する commit → push(Terminal編) をまとめておく。

GitHubに変更を反映する(commit & push)の基本4ステップ

GitHub にコードを反映する流れは基本的にこの4つ。

git status
git add .
git commit -m "コメント"
git push

① 現在の状態を確認する

まず、プロジェクトフォルダに移動する。

cd D:\R\public_scRNA_THY-Tau22_7mo_Ctx

そのあと

git status

を実行する。

すると

modified: analysis_script.R

のように、変更されたファイルが表示される。

② commitするファイルを追加

変更したファイルを Git に登録する。

全部まとめて追加する場合

git add .

特定のファイルだけなら

git add analysis_script.R

③ commitする

次に commit を作る。

git commit -m "Add gene_of_interest analysis"

このコメントは あとで履歴を見たときに何を変更したか分かるように書く。

研究用途だと

Update DEG analysis
Add scRNA-seq preprocessing
Fix celltype annotation

などが多い。

④ GitHubにpushする

最後に GitHub に反映する。

git push

これで GitHub のリポジトリに更新が反映される。

よく使う「基本セット」

実際には、ほぼ毎回これだけ。

git status
git add .
git commit -m "update analysis"
git push

研究コードを書くときは、この操作を1日に何回も行うことになる。

研究用GitHubで気をつけること

研究用途では次の2つが重要。

① raw dataはpushしない

FASTQ
bam
large matrix

これらの raw data は基本 GitHub には入れない。

GitHub はコード管理用なので、大きなデータは .gitignore で除外しておく。

② scriptは細かくcommitする

例えば

scRNA_preprocess.R
DEG_analysis.R
plotting.R

のようにスクリプトを分けて、変更ごとに commit しておくと、後で解析の再現性が高くなる。

GitHubは「研究ノート」に近い

個人的には GitHub は 実験ノートのコード版 だと思っている。

  • いつ
  • どこを
  • どう変えたか

がすべて履歴に残る。

研究をしていると 「この解析、いつ変えたんだっけ」 ということが必ず起きる。

GitHub を使うと、それをすべて追跡できる。

まとめ

GitHub に変更を反映する基本操作はこの4つ。

git status
git add .
git commit -m "comment"
git push

この4つだけ覚えておけば、研究コードの管理はかなり楽になる。