こんにちはディーメイクでwebデザイナーをしている鈴木です。
今回もさらっと説明する【Webサイトに関する基礎知識シリーズ】です。
このシリーズはWeb制作の現場でよく使われる言葉や
基本的な知識などをさらっと書いています。
第8回目となる今回はWebサイトを作る時に欠かせないツールになりつつある
git(ギット)についての解説です。
「まずは概要をつかもう」くらいの軽い気持ちで読めるように
書いてみたいと思います。

目次
1.gitって何?
日本語だと「分散型バージョン管理システム」といいます。
英語の語源とか調べてみたのですが、諸説出てきて正しい語源がよくわからなかったので
ここでは割愛したいと思います。
何ができるの
バージョン管理の名前の通り、ファイルを更新や追加した時に
誰が何を変更したかなどの変更内容を管理できるようになります。
「分散型」とついているは、リポジトリと呼ばれるファイルなどを入れておく場所を
各々のローカルに複製して作業するため、分散して管理できるという意味です。
逆の「集中型」の場合は、リポジトリはサーバーのみにあり
作業は接続した状態でするため、複数人での作業には向いていません。
gitを使うメリット
変更内容の管理ができると何が良いかというと
- チームでファイル管理がしやすい
- 他の人が作業した内容が聞かなくてもわかる
- 共同で管理しているサイトなどで、先祖がえりのリスクが減る
- トラブルがあった時など、元のファイルに誰でも戻せる
他にも色々とありますが、ザックリとだとこんな感じだと思います。
gitを使うデメリット
そんなに便利なのに、非エンジニアの人に馴染みが薄い原因と思われることとしては
- 導入のハードルが非エンジニアには少し高い
- ある程度のリテラシーが必要なため、学習コストがかかる
- ルールなどの仕組みがしっかりしてないと破綻する
操作自体に難しいことはあまり無いのですが
聞きなれない言葉や、独特の手順があったりすることが
なんとなくの拒否感につながっているのでは無いかと思います。
2.gitに関する言葉
gitを使用するにあたって出てくる言葉についてまとめてみました。

リポジトリ
ファイルなどを入れておく入れ物のようなイメージ
このリポジトリで変更した履歴を管理します。
- リモートリポジトリ
サーバーに配置される共有するリポジトリ
個人で作業した変更もここにアップロードすることで共有することができます。 - ローカルリポジトリ
リモートリポジトリをコピーして、各々のマシン上に配置します。
自分が作業した変更履歴をこのリポジトリで管理します。
リモートリポジトリとローカルリポジトリとの差分を比較することで
最新のファイルなどがわかるようになっています。
クローン
リモートリポジトリのコミットをローカルリポジトリに
丸々コピー(ダウンロード)することです。
通常は最初の1回だけクローンして、その後はプルで個別にダウンロードします。
pull(プル)
リモートリポジトリから、ローカルリポジトリのファイルと違いがあるものや
ローカルリポジトリに無いファイルなどをダウンロードすることです。
プルすることで、他の人が変更したファイルを自分の作業環境にも反映できます。
fetch(フィッチ)
リモートリポジトリから、ローカルリポジトリのファイルと違いがあるものや
ローカルリポジトリに無いファイルなどがあるか確認することです。
フィッチしただけではローカルリポジトリのファイルに差分を反映することはできません。
commit(コミット)
コミットは作業(変更)の履歴を登録することです。
通常、作業内容など簡単なコメントをつけてコミットします。
コミットしても、変更内容がローカルリポジトリに記録されるだけなので
他の人は反映できません。
push(プッシュ)
ローカルリポジトリにコミットした変更内容を、リモートリポジトリに反映することです。
プッシュまでして初めて、他の人が自分の変更の情報を知ったり
各々の環境に反映できたりします。

branch(ブランチ)
リポジトリの中で変更履歴を分けて管理できるようにすることです。
開発者用とかデザイナー用とか切り分けてブランチを作成することで
複数作業を同時にすることができます。
大元になるブランチをメインブランチと呼び
最終的には全ての変更を、メインブランチにマージします。
marge(マージ)
ブランチで分けて管理していた変更を、マスターブランチや
他のブランチに統合することをマージと言います。
コンフリクト
コンフリクトとは競合のことです。
複数の作業者が同時に同じ箇所を変更した場合など、どちらで更新するかを
判断しなくてはならない場合を指します。
どちらも反映する場合は、一旦どちらかの更新でマージをして
それにもう一方の作業を反映します。
ワークツリー
リポジトリ内の作業しているディレクトリをワークツリーといいます。
じゃあもう「ディレクトリって言えばいいじゃん」と思うかもしれませんが
ワークツリーはブランチの情報まで含め、gitで管理されている状態のものを指します。
プルリクエスト(pull )
その名の通り、自分が作業した更新履歴を他の人にお知らせして
プルしてもらうようにお願いする機能です。
作業しているブランチからメインブランチにマージした際などに使います。
複数人で作業している時の大事な機能です。
3.代表的なgitホスティングサービス
gitを使う際にはgitホスティングサービスという
gitというツールを使えるようにするサービスを利用します。
非エンジニアにとっては
gitを使ったことある=(gitホスティングサービス)を使ったことある
ということが多いのではないでしょうか。
有名なgitホスティングサービスを挙げると
- GitHub
- GitLab
- Bitbucket
- tracpath
- Assembla
などがあります。
4.黒い画面を使わなくても大丈夫
gitが非エンジニアにとってハードルが高い理由の一つに
CUI、いわゆる黒い画面にコマンドを打って使うイメージが強いこともあると思います。
慣れると、直接コマンド(命令)を入力するため、ミスなどを防ぎやすいという
メリットがある一方、使い慣れてない非エンジニアにとっては何がどうなっているのか
イメージがつきにくく、状態が把握しにくいのも事実です。
そんなCUIコンプレックスがあっても大丈夫なGUIツールがgitクライアントです。
今ではたくさんの種類がありますが、いくつか紹介したいと思います。
Source Tree
Source Treeを使うと、プルやプッシュなどのファイルのやり取りを
コマンドを打つことなく行うことができます。
ブランチの状態や、プッシュされているコミットのコメントも見ることができるため
gitを使った作業のハードルをグッと下げることができます。
多くのgitホスティングサービスで利用できるため利用しているユーザーも多く
使い方なども検索ですぐに調べられるところも、Source Treeの良い点です。
GitHub Desktop
その名の通り、GitHubが提供しているgitクライアントです。
シンプルな見た目で、直感的にわかりやすく
GitHubアカウントと簡単に連携できるので、GitHubを使っている人にはかなり便利です。
GitHub以外のgitホスティングサービスでも利用できますが
GitHub以外を使う人がわざわざこちらを利用するメリットは少ないと思います。
5.まとめ
少し前は、gitというとエンジニアさんが使うものというイメージでしたが
最近の案件ではデザイナーや、ディレクターもgitを使ってお仕事することが
当たり前になりつつあります。
全スタッフがフルリモートで作業することができるディーメイクでは
割と早い段階で、デザイナーやディレクターもgitを取り入れて仕事をしています。
実際に使ってみると、ファイルの共有や
他の人との更新履歴の把握など、使う前には戻れないほど便利なツールです。
gitを使って、チームで仕事をしてみたいと思った方
gitには興味はないけど、フルリモートで働きたいと思った方は
ぜひディーメイクで一緒に働きましょう!
こちらの記事もチェック!
サイト制作の現場で出てくるちょっと専門的な用語が知りたくなったらこちら

お菓子じゃない方のcookieについて知りたくなったらこちら
