自動的なバージョン管理


  • バージョン管理とは、制限無く「元に戻す」ことができる機能。
  • バージョン管理を使えば、複数の人と同時進行で作業をする事ができます。

Gitの設定


  • git config--global オプションを使い、ユーザー名、メールアドレス、エディタ、その他の設定を行う。

リポジトリの作成


  • git init はリポジトリを初期化する。
  • Gitはリポジトリデータのすべてを.gitディレクトリに格納する。

変更内容の記録


  • git status はリポジトリの状態を表示する。
  • ファイルはプロジェクトの作業ディレクトリ、ステージング・エリア(次のコミットに含まれる変更点が蓄積される場所)、そしてローカル・リポジトリ(コミットが永久に記録される場所)に保存される。
  • git add はファイルをステージング・エリアに移動させる。
  • git commit はステージされた内容をローカル・リポジトリに保存する。
  • コミットメッセージは、変更点がわかりやすいように書きましょう。

履歴の探索


  • git diff は、コミット間の違いを表示します。
  • git checkout は、ファイルの古いバージョンを復元します。

ファイルを無視する


  • .gitignore で無視するファイルを指定する

GitHub におけるリモート


  • ローカルGitリポジトリは1つ以上のリモートリポジトリに接続できます。
  • リモートリポジトリへの接続にはSSHプロトコルを使用します。
  • git push はローカルリポジトリからリモートリポジトリに変更をコピーします。
  • git pull はリモートリポジトリからローカルリポジトリに変更をコピーします。

コラボレーション


  • git clone はリモートリポジトリをコピーして、リモートが自動的に origin として設定されたローカルリポジトリを作成します。

コンフリクト


  • コンフリクトは、2人以上が同じファイルの同じ行を変更したときに発生します。
  • バージョン管理システムは、変更を無視して上書きすることを許さず、コンフリクトを強調表示して解決を促します。

オープン サイエンス


  • オープンな科学的研究は、クローズドよりも有用であり、引用数が多い。

ライセンス


  • リポジトリの内容を他の人がどのように使用できるかを示すために、LICENSELICENSE.md、または LICENSE.txt ファイルがよく使用されます。
  • 一般公衆利用許諾契約書(GPL)ソフトウェアを自分のソフトウェアに組み込む場合、そのソフトウェアもGPLライセンスの下で公開する必要があります。他のほとんどのオープンライセンスにはこの要件がありません。
  • Creative Commons のライセンスファミリーでは、帰属、派生作品の作成、さらなる共有、商業利用に関する要件と制限を組み合わせることができます。
  • 法律の専門家でない人は、ライセンスを一から作成するべきではありません。

引用


  • リポジトリに CITATION ファイルを追加して、自分の作品をどのように引用してほしいかを説明する。

ホスティング


  • プロジェクトは大学のサーバー、個人ドメイン、またはパブリックホスティングサービスでホストできます。
  • 知的財産や機密情報の保存に関する規則は、コードやデータがホストされる場所にかかわらず適用されます。

補足: RStudio での Git の使用方法


  • RStudio の Git 統合を使用すると、プロジェクトのバージョン管理を簡単に行えます。