こんにちは。WebディレクターのNです。
当社では数年前からコーディングのプロジェクトにGitを導入しています。
マークアップエンジニアだけではなく、Webディレクターや他の職種でも使われる頻度が高く、いまやこれ無しではプロジェクト管理ができない、といっても過言ではない必要不可欠ツールとなっています。
とはいえ。
正直Gitの操作は苦手…という非エンジニア(筆者も含め)の方って結構多いのではないでしょうか? なんとなく使っているけど仕組みがよくわからない、なにかやらかしてデータが消えちゃったらどうしよう、コマンドラインのあの「黒い画面」が怖いwなどなど。
そこで今回は忘備録もかねて初歩中の初歩!な基本情報をまとめてみました。
非エンジニアのみなさんのお力になれたら幸いです。
————————————————————
【目次】
1.そもそもGitってなに?
2.Gitを利用する上でよく使われる用語まとめ
3.Gitでなにができるの?メリットは?
4.Gitの操作方法は2種類あるよ
————————————————————
1.そもそもGitってなに?
Gitは一般的に「分散型バージョン管理システム」と呼ばれていますす。
管理システム…という文字面をみるとなんとなく及び腰になるのですが、要するにhtmlやcssなどのファイルを作成・更新した時の履歴(バージョン)を作成・管理してくれる便利なシステム、という解釈でよいのかなと思います!
ちなみに分散型ってなに?というクエスチョンについては2.をご参照ください。
2.Gitを利用する上でよく使われる用語まとめ
よく使われる用語の上位をピックアップしました!
・リポジトリ(Repository= 倉庫・貯蔵庫)
ファイルやディレクトリを保存している場所のことです。
・ローカルリポジトリ
個々のローカルPCにある実際の構築作業をする場所のことです。
ゲームで言う「セーブデータ」をどんどん残すイメージ。すべての履歴を含んだリポジトリの複製が作られます。
・リモートリポジトリ
各々が作業したデータを反映させる場所のことです。「共用サーバー」という位置づけがわかりやすいかも。個々のローカルPCにもリポジトリを構築するので「分散型」と呼ばれています。
・ワークツリー / 作業ツリー
実際に作業をしているディレクトリのことです。
・ステージング(Index)
リモートリポジトリの前段にあるエリアです。コミットしたいものを選択(add)してここへ移動させます。
・コミット(Commit)
ファイルやディレクトリの追加・変更を、ローカルリポジトリに保存することです。コミットの際は、変更内容のメッセージを必ずつけないとダメです。
・マージ(Marge)
複数の流れを合流させること。リモートリポジトリからのマージと、ブランチのマージがあります。
・プッシュ(Push)
ローカルリポジトリへコミットした変更内容を、リモートリポジトリに送ることです。
・フェッチ(Fetch)
リモートリポジトリの変更情報を、ローカルリポジトリへ取り込むことです。
・プル(Pull)
フェッチとマージを自動でやってくれる機能です。
↓以上を図にするとこんな感じです
3.Gitでなにができるの?メリットは?
Gitでできることを、メリットとあわせて2点紹介します。
・複数の人が同時に開発・修正作業を進めることができる
これが最大のメリットですね!途中で他の人とバッティングすることなく作業できるようになります。システムがどの時点の更新ファイルが最新かを教えてくれるので、うっかり上書きや先祖返りも防げます。もちろん、編集した履歴を全員で共有したり、複数の人が修正したファイルを1つに統合することもできます。
・過去の履歴(バージョン)をたどれる
Gitは更新作業のたびに履歴を記録しているので、たとえば一度修正したファイルを過去のバージョンに戻したい場合でも履歴をたどって戻すことができます。過去にどういったコードの修正があったのかを知りたい時にも、簡単に探すことができます。
4.Gitの操作方法は2種類あるよ
Gitを操作する方法は主に「GUI」と「CLI」の2種類があります。
・GUI(Graphical User Interface)を使う
Git用のアプリケーションを使う方法です。非プログラマでも直感的に操作できるので使いやすく、解りやすいです。※サンプル画像は「SourceTree」のものです。
(参考資料)GitのためのGUIアプリケーション7選
https://news.mynavi.jp/techplus/article/20190705-853763/
・CLI(Command Line Interface)を使う
プロンプト(Windows)やターミナル(Mac)と呼ばれる黒い画面からコマンドを使って操作する方法です。強制的な修正なども可能で操作も軽い(らしい)のですが、非エンジニアにとっては、少しハードルが高いかも…
(参考資料)コマンドの活用法【超初心者向け】
https://citrusjapan.co.jp/column/cj-column/w006_202007.html
ふう…ここまでGitの概要を一気にお伝えしましたが、いかがでしたでしょうか?
もしみなさんの中でもっと平たく説明できるよ!という方はお教えください。
それではまた次回!