Git・GitHub・はじめてのコミット

はじめてのコミット——記録をつけてみる

自分のサイトのフォルダをGitで管理して、最初の記録(コミット)を残すまで。addとcommitが分かれている理由も、荷物の箱詰めにたとえて腑に落ちるように説明します。

Gitが入ったら、さっそく自分のサイトのフォルダに履歴をつけましょう。この回で覚えるコマンドは4つ、init・status・add・commitだけです。

題材にするフォルダ

ここでは、しまちゃんの自己紹介ページのフォルダを例にします。自分が作りかけのフォルダがあれば、それで進めて構いません。

my-site/
├── images/
│   └── shima.png
├── index.html
├── script.js
└── style.css

ターミナルで、このフォルダに移動しておきます。

cd my-site

1. git init——このフォルダを管理下に置く

git init

Initialized empty Git repository ...と出れば成功です。これで、このフォルダがリポジトリ(履歴を記録するフォルダ)になりました。

見た目には何も変わりませんが、フォルダの中に.gitという隠しフォルダができています。履歴の本体はここに入ります。消すと履歴も消えるので、触らずにそっとしておきましょう。

2. git status——いまの状態を聞く

Gitで迷ったら、まずこれを打ちます。

git status

初回はこう返ってきます(表示は環境によって少し違います)。

On branch main

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        images/
        index.html
        script.js
        style.css

Untracked filesは「まだGitが記録していないファイル」という意味です。Gitは、フォルダに置いただけのファイルを勝手に記録しません。何を記録するかは自分で選ぶ——これがGitの基本姿勢です。

3. git add——記録したいファイルを箱に入れる

git add index.html

これでindex.htmlが「次の記録に入れるもの」になりました。全部まとめて入れたいときは.(今いるフォルダの中身すべて、の意味)を使います。

git add .

もう一度git statusを打つと、さっきのファイルがChanges to be committed(記録される予定)に移っています。

4. git commit——記録する

git commit -m "ページの骨組みを作った"

-mのうしろがコミットメッセージ=「何をしたか」の一言です。これで最初のコミットが記録されました。

メッセージは、未来の自分への手紙だと思って書きます。

✕ 分かりにくい○ 分かりやすい
修正見出しの文字色を変更
いろいろすきなものリストを追加
update送信ボタンの動きを追加

5. git log——記録を見る

git log --oneline

--onelineを付けると、1コミット1行で見やすく表示されます。

a1b2c3d ページの骨組みを作った

コミットを重ねると、この一覧が上から新しい順に増えていきます。左の英数字はコミットID(そのコミットの背番号)で、あとで「あの時点に戻したい」というときに使います。

毎日くり返すのはこの3つ

慣れてしまえば、日々の作業はこのくり返しです。

git status          # いま何が変わっているか見る
git add .           # 記録するものを選ぶ
git commit -m "◯◯を追加"   # メッセージを付けて記録

区切りがついたら記録する、というリズムが身につくと、コードを大きく直すのが怖くなくなります。

このレッスンのまとめ

  1. git initでフォルダをリポジトリにする。履歴の本体は.gitフォルダに入る
  2. git add箱に入れるgit commit封をして記録する。分かれているから記録内容を選べる
  3. 困ったらgit status、記録を見たいときはgit log --oneline

よくある質問

git addとgit commitはなぜ分かれているのですか?
「今回の記録に入れるファイル」を自分で選べるようにするためです。addで記録したいファイルだけを箱に入れ、commitでその箱に封をして記録します。
git add . の「.」は何ですか?
「今いるフォルダの中身すべて」という意味です。変更したファイルをまとめて記録対象にしたいときに使います。
コミットメッセージには何を書けばいいですか?
「何をしたか」を短く1行で書きます。「修正」だけだと後で分からなくなるので、「すきなものリストを追加」のように対象と動作を入れるのがコツです。