save(セーブ)を荷物の発送に例えて理解できた話


こんにちは! エムシーです!
アプリを作ってパソコンに保存します。
でも、それだけだと、パソコンが壊れたら作ったアプリは全部消えてしまいます。
今回は、その不安は GitとGitHub を使って解消できるということを学んだ話です。
新しく出てきた覚えるべき専門用語は(Git)add・commit・pushの3つでした。
英字が3つ並んだ時点で少し身構えましたが、宅配便で荷物を送るのと同じ理屈でした。
パソコンに自信がなくて、バックアップなどを後回しにしている方に読んでほしいです。
僕と同じように、英字で書かれたコードに弱い方にも届けば嬉しいです。
セーブ機能と クラウドの金庫
Gitは、自分のパソコンの中でファイルの変更履歴を記録する「セーブ機能」だと学びました。
ゲームのセーブ機能と同じような感じだと思います。
GitHubは、Gitの記録をインターネット上に保管する「クラウド上の金庫」でした。
現金を自宅で保管せずに、銀行に預けるのと同じようなものだと解釈しました。
名前は似ていますが、Gitはパソコンの中、GitHubはインターネット上にあるので
そもそも動く場所が違います。なんか名前が似ていて 紛らわしいですが・・・
パソコンが壊れても、GitHubに保管しておけばコードは保存されるから安心です。
荷物の発送と 同じ3ステップ
保存の流れは、add→commit→pushの3ステップでした。また英語が3つ並びます。
ところが教材では、addは梱包、commitは送付状、pushは発送と、荷物の発送にたとえられていました。宅配便ならイメージできます。
- addは梱包
- commitは送付状
- pushは発送
commitのときは、「何を変えたか」の一言を添えました。
これをコミットメッセージと呼びます。
何を書けばいいのか、最初は手が止まってしまいましたが
コミットメッセージに正解はなく、後で見た時に自分に分かれば十分だと書いてありました。
な~んだ!それだったら・・・と止まっていた手が再び軽やかに動き出しました。
3行が 1語になった
毎回3行打つ代わりに、saveの1語でadd・commit・pushをまとめて実行できるようにしました。3行分の操作が1語で済みます。
新しいリポジトリ作りも、newrepoの1語でできるようにしました。
打つ量が減ると、それだけで作業が軽くなります。
test01からtest04まで、4回分「新規作成→newrepo→変更→save」の流れを練習しました。
繰り返すうちに、少しずつ手が自然に動きだしました。
コピペはせずに、画面を見ながら手入力で練習しました。
身に着けるためなら、打ち間違いも勉強のうちです。
リポジトリは 倉庫だった
リポジトリは、1つのプロジェクトのファイル一式を保管する場所でした。
英語で「倉庫」という意味だと知りました。その例えなら分かりやすいです。
リポジトリには公開(Public)と非公開(Private)があり、学習用はまず
非公開が安心だと書いてありました。人に見せる前提ではないので、ありがたい話です。
ブログ作業のフォルダも、newrepoで非公開のリポジトリにしました。
31ファイルが、一瞬で金庫の中です。
gh browseでGitHubのページを開き、「Private」の表示を自分の目で確かめました。
自分の目で見て確認すると、やっぱり安心できます。
.gitignoreで 守るもの
.gitignoreに書いたファイルは、addしても記録されず、GitHubにも送られません。
送らないものを先に決めておく仕組みでした。
node_modulesには、ライブラリの中身が大量に入っていて、サイズがとても大きい
そうです。名前は見かけていましたが、中をのぞいたことはありません。
node_modulesはnpm installで元に戻せるので、GitHubに保存しなくていいと知
りました。わざわざ金庫に入れなくていいのか、と納得です。
消していいもの・ いけないもの
pushがうまくいかない原因は、GitHub側とパソコン側の記録のずれが多いと書いてありました。つまずく場所を先に教わると、心の準備ができます。
Gitの操作でファイルが完全に消えることは、ほとんどないと書いてありました。それを聞いて、少しほっとしました。
実技では、.gitの中のindex.lockというファイルを消す場面が出てきます。名前を見ても、何をするファイルなのか見当がつきません。
「消して」と言われても、そのまま実行せず「なぜ削除する?」と理由を聞きました。
大事なものを消したら大変だからです。
.gitの中で消してよいのはindex.lockだけで、他の中身は消さないと学びました。
線がはっきりしていると、手が止まりません。
5章も、まとめページと確認テスト、小テスト15問、総合問題集30問、用語解説14語
をアーティファクトに作ってもらいました。
後になって忘れかけた時に、こうやって復習する場所があると少し安心できます。
【今日の学び】
- 学習用のリポジトリは、まず非公開(Private)にする
- コミットメッセージは、後で自分に分かればよいと考える
- npm installで戻せるものは、.gitignoreに書いて送らない
- 消す前に、なぜ消すのかと理由を聞く

最後まで お読みいただき 本当に ありがとうございました!

