タイトル

「サルでも分かるGit入門」が分からなかった猿以下デザイナが解説するGitのしくみ

エイチームライフスタイルアドベントカレンダー2018の17日目は、株式会社エイチームブライズ@echaが担当します。

はじめに

デザイナのみなさん、Gitは得意ですか?
私はエイチームに入社して初めてGitに触れたのですが、ずっとデザイン1本(ちょっとだけマークアップ)でやってきた私にとって、あの黒い画面はなんだか怖いイメージでした。

先輩エンジニアに「ここが分かりやすいよ」と教えてもらったサルでも分かるGit入門さえ理解できず「私は猿以下・・・」と落ち込んだのですが、今回はそこからなんとかGitを人に教えられるところまできた私が考えた、デザイナ向けGitのしくみ解説を書きたいと思います。

目次

① Gitってなに?
② リモートとローカル
③ 魔法の言葉(pull・push)
④ まとめ


① Gitってなに?

まずはここです。そもそもGitとはなんなのか。
とりあえずGoogle先生に聞いてみます。

Git(ギット)は、プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムである。 引用:Wikipedia

ここで早くも、デザイナにとって馴染みのない単語が出てきましたので、まずはこの「バージョン管理」について私なりに説明します。

ざっくり言うと、バージョン管理とは
「複数人が同じサイトを同時に更新できるようにするためのしくみ」です。

チームでお仕事をしていると、1つのサイトを複数人で作ったり、更新したりすることが多くなります。

これを「今からトップページ編集するから誰も触らないでね!」「○○さん、お知らせページのファイル閉じて〜!」なんて声掛けしながら作業するのはとてもやりづらいですよね。

Git(バージョン管理)を使うと、なんとこの声掛けがいらなくなるんです。
どういう仕組みで声掛けがいらなくなるのか、次で説明します。


② リモートとローカル

Gitでは、複数人が同じサイトを同時に更新できるようにするために「リモート環境」と「ローカル環境」というものを使います。

それぞれの環境には、少しだけ内容が違う“かもしれない”同じサイトのデータが存在しています。

「リモート環境:オリジナルの世界(1つしかない)」
「ローカル環境:
リモート環境のパラレルワールド(いくつもある)」
と考えると分かりやすいと思います。

では、Gitでこの「リモート環境」「ローカル環境」を使って、どうやって複数人で同じサイトを更新していくのか、次で説明します。


③ 魔法の言葉(pull・push)

Gitでは、リモート環境とローカル環境に対して魔法の言葉(pull・push)を使うことで、複数人で同じサイトを更新していきます。

ここからは分かりやすいように、サイトを「猿🐵」に見立てて説明します。

たとえば、上の図のような環境があったとします。

リモート環境:1匹の猿がいます
Aさんの環境:まだ何もいません
Bさんの環境:まだ何もいません

ある日、AさんとBさんは「猿を可愛くする」ミッションをもらったので、それぞれこう考えました。

Aさん「リボンをつけよう!」、Bさん「服を着せよう!」

ではさっそく、Gitで「魔法の言葉(pull・push)」を使い、下記の手順で猿を可愛くしていきましょう。

🐵 猿を可愛くする手順 🐵
1. 「pull」を使って猿の分身を連れてくる
2.  分身の猿にリボンをつける・服を着せる
3. 「push」を使ってオリジナルの猿に反映する


1. 「pull」を使って猿の分身を連れてくる

AさんとBさんの環境にはまだ猿がいないので、まずは「pull」を使って、それぞれの環境にオリジナルの猿の分身を連れてきます。

このように、リモート環境のデータをローカル環境にコピーしてくることを「pull」と言います。


2. 分身の猿にリボンをつける・服を着せる

連れてきた分身の猿に、Aさんはリボンを、Bさんは服を着せます。

AさんとBさんの環境にいる分身の猿が、ちょっとだけ可愛くなりました!


3. 「push」を使ってオリジナルの猿に反映する

AさんとBさんの環境にいる分身の猿は、ちょっとだけ可愛くなりましたが、これではまだ可愛さが足りません。

そこで「push」を使って、ちょっとずつ可愛くなった「分身の猿」をリモート環境にいる「オリジナルの猿」に合体させて、めっちゃ可愛くします。

オリジナルの猿がめっちゃ可愛くなりました!
ミッションコンプリートです!

このように、ローカル環境のデータをリモート環境に合体させることを「push」と言います。

※実際にはpullとpush以外にstatus、add、diff、commitなどのGitのコマンドを使うことになりますが、ここでは分かりやすいように省略しています。


④ まとめ

いかがでしたでしょうか?
Gitでは上記のように「リモート環境」「ローカル環境」「魔法の言葉(pull・push)」を使って、複数人が同じサイトを同時に更新できるようにしています。しくみを知ると、とても便利な素晴らしい機能ですね!

★ Git(バージョン管理)とは
「複数人が同じサイトを同時に更新できるようにするためのしくみ」
★ リモート環境・ローカル環境 とは
「Gitでバージョン管理を行うために使うしくみ」
リモート環境 → オリジナルの世界(1つしかないもの)
ローカル環境 → リモート環境のパラレルワールド(いくつもあるもの)
★ pull・push とは
「リモート環境とローカル環境に対して使う“魔法の言葉”」

pull → リモート環境から、ローカル環境にデータをコピーしてくる言葉
push → ローカル環境のデータをリモート環境に合体させる言葉

Gitには今回書いた以外にも、普段のお仕事の中でよく使う「ブランチ」などの機能があるので、そのあたりについてもまた機会があれば書きたいなと思います。

ここまで読んでくださり、ありがとうございました。
この記事を読むことで、Gitのあの黒い画面を怖く感じたり、「私は猿以下・・・」と落ち込んだりするデザイナが少しでも減ったら嬉しいです🐵


エイチームライフスタイルアドベントカレンダー2018、明日は@mgmgmに書いてもらう予定です。お楽しみに!

エイチームグループでは、一緒に働けるチャレンジ精神旺盛な仲間を募集しています。興味を持たれた方はぜひエイチームグループ採用サイトを御覧ください。
https://www.a-tm.co.jp/recruit/




この記事が気に入ったらサポートをしてみませんか?