概要とセットアップ
ウルフマンとドラキュラはユニバーサル・ミッションズ(ユーフォリック州立大学からスピンオフした宇宙 サービス)に雇われ、次の惑星着陸船を火星に送ることが可能かどうかを調査しています。 彼らはそれぞれ同時に計画を立てたいのですが、前にもこのような仕事をしようとしたら困ったことがありました。 交代制にすれば、各自がもう片方が終わるのを待つのに多くの時間を費やすことになります。しかし、それぞれ自分のコピーを編集して、メールで添付ファイルを送ったりすると情報の喪失や上書き、複製などといった問題が起こります。
同僚がバーション管理を使って作業を管理することを勧めました。 バージョン管理はファイルを送り返すよりも優れています:
バージョン管理にコミットされたものは、よほど意図的に失おうとしない限り、決して失われることはありません。 古いバージョンのファイルはすべて保存されているため、特定の日に誰が何を書き込んだのか、特定の結果を生成するためにどのバージョンのプログラムが使用されたのかなど、正確に確認することが可能です。
誰が何をいつ変更したのかという記録があるため、後に問題が生じた場合、連絡するべき人が分かる上に必要に応じて「元に戻す」機能のように、以前のバージョンに戻すことができます。
同じプロジェクトで複数の人が協力し合う場合、間違って誰かの変更を見落としたり上書きしたりする可能性があります。 バージョン管理システムは、二つの変更点の間に不一致があった場合、自動的にユーザーに知らせてくれます。
バージョン管理を使うことによって得をするのはチームだけではありません: 個人で作業をしている研究者にもメリットがあります。 何が、いつ、何故変わったのかを記録しておくことは、後で昔のプロジェクトを見返すことになった場合などに(例えば、1年後、プロジェクトの詳細を忘れてしまった時などに)、非常に便利です。
バージョン管理は、デジタル世界における実験ノートです。 専門家が、自分が行ったことを記録し、 他の人々と共同作業を行うために使用するものです。 大規模なソフトウェア開発 プロジェクトはすべてGit に依存しており、ほとんどのプログラマーは小さな仕事 でも使用しています。 書籍、論文、小規模なデータセット、時間の経過とともに変化するもの、 共有する必要があるものは、バージョン管理システムに保存することができるし、そうすべきです。
予備知識
このレッスンでは、UnixシェルからGitを使います。 シェルの使用経験があることが望ましいですが、必須ではありません。
Gitのインストール
いくつかのCarpentriesのレッスンはGitに依存しているので、 ワークショップテンプレートのこのセクション を参照してください。 様々なオペレーティングシステムにGitをインストールする手順があります。
GitHub アカウントの作成
このレッスンのエピソード7と8には、 GitHubのアカウントが必要です。
- https://github.com にアクセスし、ウィンドウの右上にある「Sign Up」のリンクに従ってください。
- 指示に従ってアカウントを作成してください。
- GitHub でメールアドレスを確認する。
- 多要素認証を設定する(下記参照)。
多要素認証
2023年にGitHubは 、セキュリティを強化するためすべてのアカウントに 多要素認証(2FA)の設定を行うという要件を導入した。 2FAを設定するためにいくつかのオプションがあります。
- Google Authenticatorや Duo Mobile のような認証アプリを既に使っている場合は、 そのアプリにGitHub を追加 してください。
- スマートフォンにアクセスできるが、まだ認証アプリを使っていない場合は、認証アプリをインストールし、 アプリにGitHubを追加してください。
- スマートフォンにアクセスできない場合、または認証アプリをインストールしたくない場合は、2つの選択肢があります:
- テキストメッセージによる2FAの設定 (SMSによる認証がサポートされている国のリスト)、または
- ハードウェアセキュリティキーを使用する YubiKey のように、またはGoogle Titanキーを使用してください。
GitHubのドキュメンテーションに2FAの設定に関する詳細があります。
作業ディレクトリの準備
Desktop
フォルダーで作業を行うので、作業ディレクトリーをDesktop
フォルダーに変更してください: