Rails コース

Gitの使い方

これまで皆さんは自分一人でrestaurants_guideの開発を行ってきました。どこまで作業を進めたか?どの部分を変更したか?は自分の頭の中に残っているでしょう。ただ、実際のウェブ開発はチームで行うのが一般的で、ひとつのプロジェクトにたくさんの人が関わります。誰が、どの部分を作業したのか?どういった変更を加えたのか?チームで連携していく必要があるのです。

そのためには「作成・変更の履歴を正しく残すこと」、そしてそれを「共有すること」が必要です。それを可能にするのがgitという仕組みです。

gitでは、自分が作業する前と後でどのように変更があったかを記録し、それをインターネット上で共有します。さらに下記の図を使ってgitの仕組みを詳しく解説します。

ワークツリーは、現在自分が作業しているディレクトリ(フォルダのこと。前章で例えるとrestaurants_guideプロジェクトのファイル)を指します。また、レポジトリは変更履歴を記憶するデータベースだと考えてください。現在のディレクトリにおいて、作業前と後のデータを比較し、どの部分が変更されているかをレポジトリが管理します。レポジトリにも「ローカル」と「リモート」の2つの種類があり、ローカルに自分のPC内の変更履歴が、リモートにはこのプロジェクトに関わる全ての人の変更履歴が保存されています。

上記のように管理しておくとどんなメリットがあるでしょうか?
例えば「作業を進めてきたけれどうまくいかない…一旦作業前の状態に戻したい」といった場合、変更の履歴が残っていれば対応できます。また、上記のようにAさんとBさんが二人で作業しており、二人が同じファイルに違う変更を加えた場合、ファイルを共有するとうまくいかない部分が出てきそうです。gitにはどの部分を誰が変更したかの履歴も残りますので、同じファイルに対して同時進行で作業を進めても共有後に整理が簡単にできます。

この教材はメンバー専用です

メンバー専用の教材にアクセスするには、
ハッカーIDでログインしてください。

or