こんにちは!シリコンバレーで働くエンジニアです。これから君がプログラミングの世界で冒険するための、最強の道具の一つ「Git(ギット)」について話をしよう。Gitは、まるでコードのためのタイムマシンなんだ。難しそうに聞こえるかもしれないけど、大丈夫。一緒に仕組みを理解すれば、これほど頼りになる相棒はいないよ。
君が学校で「未来の都市」というテーマのレポートを書いていると想像してみてほしい。
一人で書く場合:
未来都市レポート_v1.docx
)未来都市レポート_v2_エネルギー問題追加.docx
)未来都市レポート_v1_やっぱりこっちも.docx
)気づけば、フォルダの中は似たような名前のファイルだらけ。どれが最新で、どれがどう違うのか、わからなくなってしまう。もし、**「昨日の夕方の状態に、一瞬で戻りたい!」**と思っても、どのファイルだったか探すのは大変だよね。
グループで書く場合:
さらに友達3人とグループで書くことになったら、もっと大変。
これらの問題をすべて解決してくれるのが Git なんだ。Gitは、ファイルへの変更を「歴史」としてすべて記録してくれる。だから、いつでも好きな時点に戻れるし、誰が何を変更したのかも一目瞭然。チームでの作業もスムーズに進められるようになるんだ。
Gitを理解する上で一番大切なのが、**「3つの作業エリア」**という考え方だ。これを君の勉強机で例えてみよう。
これは、君が今まさに作業している場所、つまり勉強机そのものだ。テキストエディタで開いているファイルは、すべてこの「作業ディレクトリ」にある。ここでは、自由に文章を書いたり、消したり、絵を追加したりできる。でも、机の上が散らかっているように、この段階ではまだGitの記録には残っていない、ただの作業中の状態だ。
勉強机での作業がある程度キリ良くなったら、次はその変更内容を記録する準備をする。ステージングエリアは、そのための掲示板のような場所だ。
机の上にある変更点の中から、「よし、この文章の変更と、この図の追加は記録に残そう!」と決めたものだけを、この掲示板にペタッと貼り付けていく。この「掲示板に貼り付ける」という行為を git add
コマンドで行うんだ。