【ブログ】Gitって何? |バージョン管理システムについて学ぶ素人の話
皆様こんにちは、はじめまして。moirです。もいあ、と読みます。
新年あけましておめでとうございます。今年もどうぞよろしくお願いいたします。
▼moirはこういう者です。
突然ですが、Gitについて勉強します。
新卒組はもちろん、転職組も学んで損はないです。
というかおそらく必須科目です。
特に転職組。Git使えますって重要じゃないですかね。
エンジニアやWEBデザイナーを志す人の必須科目
例えば、エンジニアとデザイナーが在籍して、プロジェクトを一緒にしているとしよう。もうね、デザイナーが「Git使えますよ」って言ったら絶対に一目置かれますよ。めっちゃかっこよ。
ちなみに、moirは理解力が皆無なせいで大変苦労しています。それゆえにアウトプットして理解力を深めようという作戦です。
Gitって何?
「コミットしてプッシュ」
「リポジトリ」「ローカル環境」「リモート」
「ファストフォワード」
現場にいるとカタカナばかりである。特に聞き慣れない単語には「???」と首を傾げることも多い。
エンジニア御用達のGitについて、ぺえぺえの私と一緒に学習していきましょう。
(間違った表現などをしている可能性がございます。ご了承ください)
Gitとは…
読み方は「ぎっと」。
簡単にいうと「バージョン管理システム」のひとつ。
Linuxの生みの親"リーナス・トーバルズ"によって開発され、多くのプロジェクトで採用されているシステムです。
バージョン管理システムってどういうこと?
ファイル作成中にやってしまうごく稀にやってしまうミス。
「あっ!間違えて消しちゃった!しかも上書きしてアプリ閉じちゃった!!」
こんなことありませんか?
これでは、復元する方法がなければ、元に戻すことができません…。
(moirはIllustratorでごく稀にやってしまいます)
しかし、Gitでファイルを管理すると、差異なく復元することができます。
なぜ?
なぜなら、Gitとは「編集(変更)履歴」を管理するシステムのことだからです。
特に開発業界は、たくさんの人がひとつのプロジェクトに携わっています。
分散型の開発では「誰がどこに手を加えたのか」「誰がどこを開発しているのか」という情報は大変重要です。
Gitで管理するメリット
誰が作ったのかわかります。
名前とコメントをつけることができます。
修正、追記した箇所が全てわかります。
どんなファイルでも管理できます。
簡単なメリットをひとまず挙げてみました。
でも、まだいいところがありますよ。
何かがきっかけでデータが全壊してしまったときも、復元できる!
間違えて上書きしても、元に戻せる!
ネットワークにつながっていなくても手元にある環境で作業できちゃう!
「リスクヘッジばっかりじゃん!」って思うけど、それが重要な世界なんですね。
そして、最後の「ネットワークにつながっていなくても〜」がかなり大事なポイントです。
リポジトリの役目
リポジトリ。moirが一番最初に「???」となったカタカナです。
普通に生活していたら全然聞き慣れないですよね。聞き慣れない響きなんですよね、これが。
リポジトリってなんだろう。
英語直訳で、「貯蔵庫」「格納庫」という意味です。
お察しはつきましたか?
Gitでのリポジトリは、先に申し上げた「編集履歴」などの"メタデータ"を格納しておく場所のことです。
いろんな分野でも使う言葉のようですが、「何かを格納する場所」って認識でいいのかな、と思います。
どうやって作業するの?
おおもとのサーバ(リモートサーバ)にあるリポジトリ(おおもとの格納庫=本番環境)を、自分のパソコンの中に完全にコピーし、自分のパソコン(ローカル環境)で復元します。
そのローカルリポジトリで自分は作業をします。
完全複製したコンテンツを編集するから、おおもとのリポジトリの中身は変わりませんよね。
これにより、自分の環境だけに編集をくわえることができます。
そう、自分のパソコンの中に環境が復元されるので、ネットワークに繋がっていなくても開発ができるというわけです。
そしてもちろん、ローカルリポジトリ→リモートリポジトリにコピーもできます。
そうです。
この時点で、リモートリポジトリとローカルリポジトリの二つがあるので、どちらかのデータが吹き飛んでも、復元可能なのです。
吹き飛ばさないのが、一番だけどね。
(なんかむずかしくなってきたね)
シンプルな作業手順
自分の行ったコンテンツの編集履歴は保存して、名前をつけます。*1
その後、リモートリポジトリに編集履歴を反映させます。*2
他の開発者がいれば、他の開発者のローカル環境が存在します。
リモートリポジトリに全ての編集履歴を統合しましょう。
リモートリポジトリに編集履歴を反映させたら、今度は逆。
リモートリポジトリからローカルリポジトリに完全コピーします。*3
こうすることで自分のローカルリポジトリが最新になり、最新の状態で開発をすすめることができます。
*1 この動作は「コミット」といいます
*2 この動作は「プッシュ」といいます
*3この動作は「プル」といいます
これが一番シンプルな作業の流れです。
次、機会があればまた、勉強した内容をアウトプットしていきたいと思います。
===============================================
少し半端ですが、定刻となりましたので、今回はここまで。ご覧いただきありがとうございました。
少しでも面白い、興味があると思った方は「スキ」ボタンを!フォローも是非お待ちしております。
こちらの記事も見ていってください。