自動的なバージョン管理


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

Gitの設定


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

リポジトリの作成


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

変更内容の記録


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

履歴の探索


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

ファイルを無視する


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

GitHub におけるリモート


  • A local Git repository can be connected to one or more remote repositories.
  • Use the SSH protocol to connect to remote repositories.
  • git push copies changes from a local repository to a remote repository.
  • git pull copies changes from a remote repository to a local repository.

Collaborating


  • git clone copies a remote repository to create a local repository with a remote called origin automatically set up.

Conflicts


  • Conflicts occur when two or more people change the same lines of the same file.
  • The version control system does not allow people to overwrite each other’s changes blindly, but highlights conflicts so that they can be resolved.

オープン サイエンス


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

Licensing


  • The LICENSE, LICENSE.md, or LICENSE.txt file is often used in a repository to indicate how the contents of the repo may be used by others.
  • People who incorporate General Public License (GPL’d) software into their own software must make their software also open under the GPL license; most other open licenses do not require this.
  • The Creative Commons family of licenses allow people to mix and match requirements and restrictions on attribution, creation of derivative works, further sharing, and commercialization.
  • People who are not lawyers should not try to write licenses from scratch.

Citation


  • Add a CITATION file to a repository to explain how you want your work cited.

Hosting


  • Projects can be hosted on university servers, on personal domains, or on a public hosting service.
  • Rules regarding intellectual property and storage of sensitive information apply no matter where code and data are hosted.

Supplemental: Using Git from RStudio


  • Using RStudio’s Git integration allows you to version control a project over time.