Gitとは、記憶を持つフォルダのこと
このステップの主役なので、まずそこから書きます。ご存じの方は読み飛ばしてください。
Gitは、ファイルの変更を記録しておく仕組みです。
普通のフォルダは、上書き保存すると前の内容が消えます。Gitを使っているフォルダは、節目ごとの状態を全部覚えています。 だから、いつでも好きな時点に戻れます。
このサイトでは記憶を持つフォルダと呼んでいます。それが一番近い感覚だと思います。
覚えていてくれると、こういうことが言えるようになります。
- 「昨日の夜の状態に戻して」
- 「先週から、どこが変わった?」
- 「この部分、いつ入れたんだっけ?」
ファイル名を 最終版.txt、最終版2.txt、本当の最終版.txt と増やしていく、あの方法の代わりだと思ってください。あちらは自分でファイル名を考えて管理しますが、Gitなら区切りで「残しておいて」と言うだけで済みます。
ちなみに、こういう仕組みを一般にバージョン管理システムと呼びます。Gitはその代表格です。
「GitHub」という名前もどこかで見たかもしれませんが、あれは別物です。Gitで作った履歴を、ネット上で預かってくれるサービスのほうです。混同しやすいので、次のステップでまとめて扱います。
コマンドは、エージェントが選んでくれます
Gitには膨大なコマンドがあります。でも、それを覚えるところから始める必要はありません。
日本語でこう言えば通ります。
- 「今の状態を残しておいて」
- 「さっきの状態に戻して」
- 「昨日から何が変わったか教えて」
エージェントが、必要なコマンドを選んで実行します。知らない言葉が登場したら、その場で「今のコミットって何?」と聞けます。
だから、このステップで身につけてほしいのは打ち方ではなく、何が起きているかが分かることです。それさえあれば、任せながら覚えていけます。
エージェントと組むと、Gitの役割が変わります
エージェントと作業していると、こういうことが起きます。
- さっきまで動いていたのに、直してもらったら動かなくなった
- どこをどう変えたのか、もう思い出せない
- 前の状態に戻したいが、戻し方が分からない
Gitは、この3つをまとめて解決します。いつでも、動いていたところまで戻れる。
そして、エージェントと使うときは意味がもう一段強くなります。エージェントは一度にたくさんのファイルを書き換えるので、「どこが変わったのか」が人間の把握を超えやすいからです。
Gitがあれば、変更前と変更後を並べて見られます。 気に入らなければ、まるごと捨てて元に戻せます。
捨てられるから、思い切って任せられる。 これがエージェント時代のGitの一番の効能だと思います。
覚える言葉は、2つでいい
- リポジトリ — 履歴を持つフォルダのこと。普通のフォルダとの違いは、過去を覚えていることだけです(くわしく)
- コミット — その時点の状態に印をつけて残すこと。「保存」とは少し違って、戻れる地点を作るという感覚に近いです(くわしく)
「リポジトリを作って、区切りのいいところでコミットする」。この一文が分かれば、このステップは足りています。
その間にステージングという工程が挟まりますが、そこは分からないまま進んで大丈夫です。
最初に、一度だけの準備があります
Gitはたいてい最初からパソコンに入っています。ただし、使いはじめる前に一度だけ、名前とメールを登録する必要があります。 記録を「誰が」までセットで残す道具なので、そこが空のままだと最初のコミットで止まります。
打つのは3行です。
git --version # 入っているかの確認
git config --global user.name "あなたの名前"
git config --global user.email "あなたのメールアドレス"
1行目で数字が返ってこなかった場合の入れ方(MacとWindowsで違います)、メールアドレスを人に見せたくない場合の逃げ道は、Gitの始め方にまとめました。ここだけは、先に済ませてください。 この先が全部その上に乗ります。
実際に打つのは、ほぼ4つだけ
Gitのコマンドは膨大にありますが、最初のうちに使うのは数えるほどです。
| やりたいこと | コマンド |
|---|---|
| 今どうなっているか見る | git status |
| 残す対象を選ぶ | git add |
| 印をつけて残す | git commit |
| ネットに送る(次のステップ) | git push |
一連の流れはGitの基本的な使い方にまとめてあります。
つまずいたら
git commitで変な画面が開いて出られない — vimです。Esc→:q!→Enterで出られます。次からはgit commit -m "メモ"のようにメッセージを一緒に書けば開きません- 何をコミットすればいいか分からない — 動いた時点で毎回、が正解に近いです。細かすぎて困ることはありません
- エージェントが勝手にコミットして困る — 「コミットは私が言うまでしないで」と伝えておけます
- 名前とメールを聞かれた — 初回だけの設定です。Gitの始め方に、そのまま打てる形で書いてあります
実際の作業の始め方
毎回の作業が「持ってきて、入って、起動する」の3行で始まるようになるまでを、作業の始め方にまとめました。ただし、その形が完成するのは次のステップからです。GitHubに置いて初めて、その流れになります。