はじめに
はじめまして。エンジニア1年目のみーと申します。
今の案件でGitを使ってシステム開発を進めています。
この記事では、未経験でGitが何かすらわかっていなかった頃の自分にアドバイスするなら…といった観点でGitの基礎(ここだけは押さえるべきポイント)をまとめようと思います。
読み物として書いてますので、事前準備は特にありません!
対象者
- Gitってなに?と思っている方
- Gitに触れてこなかったが次の案件から必要になる方
- まだGitの学習を全くしていなくて、書籍を買う前になんとなく触りだけ知りたい方
- まずは概要の理解、覚えておいた方がよいことのみ把握したい方
前提条件
特になし
(強いて言うならWindowsPCを触ったことがあり、通常操作は行えるレベルであること
例:フォルダ、ファイルと言われて何を指しているか分かること)
GitとGitHubとは
これは調べればすぐわかることですが、Gitとはバージョン管理システムのことです。どのサイトでもそう書いてありますが、本当にそれに尽きます。システムやアプリのバージョンを管理するためのものなんだなぁということが把握できていればOKです。
そしてGitHubはバージョン管理システムを複数人で行えるようにしたシステムのことです。
まず知っておいていただきたいのですが、システム開発は基本的に大勢で取り組んで完成させます。そのためいつ誰がどんな内容を更新したのかを正確に管理しなければ、様々な問題が発生してしまいます。
発生しうるトラブルの例
- 最新版ファイルがどれか分からず、古いファイルを使って新しい内容を更新してしまう
- 最新版ファイルに不具合が発生していても、前の状態に戻すことができない
このような問題が発生いないよう管理できるようにしたものがGitやGitHubです。最初はイメージが湧かない方もいるかもしれませんが、“作りたいシステムやアプリのバージョンを管理しているもの”とだけ覚えていれば第一ステップとしては全く問題ありません!
学習する上で押さえておくべきポイント
ここが本題にはなりますが、Gitでは聞きなれないカタカナがたくさん出てきます。そしてどれが重要でどれが重要ではないの判断もつかないと思います。
また、そのカタカナ単語たちを頭の中だけで覚えようとしても、そもそものイメージが湧いていないので、理解に苦しむと思います。
そのためGitの学習で重要なポイントは“イメージで捉える”ことです。
1つひとつの単語をしっかり覚える必要はありません。ぼんやりと全体像を理解することに重きを置いてください。
そしてその上で単語を覚えましょう。単語だけで覚えるよりずっと理解しやすいと思います。
※下記では初学者が混乱することを防ぐために最低限知っておいた方がよい単語のみを登場させます。つよつよエンジニアの方は優しい目で見守ってください。
イメージ図と最低限覚えておきたい用語
※学習する時や実務でGitを使う際は必ずこのイメージ図を思い浮かべながら作業をするとよいと思います!!
リモートリポジトリ:みんなの環境
ローカルリポジトリ:自分の環境
インデックス(ステージングエリア):作業したものを保存する場所
ワーキングツリー:実際に作業する場所
git add:インデックスに保存すること
git commit:ローカルリポジトリに保存すること
git push:リモートリポジトリに保存すること
git pull:リモートリポジトリのソースコードをワーキングツリーにコピーすること
git fetch:リモートリポジトリのソースコードを自分のローカルリポジトリにコピーすること
git merge:ローカルリポジトリのソースコードをを自分のワーキングツリーにコピーすること
おわりに
今回は初学者に向けて、GitとGitHubについて書かせていただきました。今はまだイメージがぼやっとしているかもしれませんが、あとの細かいことは実際に使っていく中で覚えていけばよいと思います。今日書かせていただいたイメージ図はGitの学習をする上で必ず出てくるものです。そのぐらい大事なことなので、皆さんもGitを使う際は頭の中にこのイメージ図を浮かべながら進めてみてください。
最後まで読んでいただき、ありがとうございました。