はじめに
この記事は、Gitをほぼ触ったことがない方向けの記事です。
ITエンジニアであれば一度は耳にしたことがあるGitですが、慣れるまでは難しいと感じる方も多いツールです。
私自身、ITエンジニアになりたての頃はGitの理解に時間がかかり、エラーに悩まされたり、分からないことが次々に出てきたりと苦労しました。
そうした経験をもとに、初学者の方に向けた内容でまとめています。
新卒の方やこれからGitを学び始める方の参考になれば幸いです。
なお、この記事は 【概念編】 です。
まずはGitそのものが何をしているのかを理解することを目的とします。
実際に手を動かしてGitを体験したい方は、続編の【実践編】をご覧ください。
この記事のゴール
- Gitとは何かを理解する
- バージョン管理が何をしているのかをイメージできるようになる
- リポジトリという言葉の意味が分かる
Gitとは?
Gitとは、バージョン管理ツールのことです。
バージョン管理ツールといっても、最初はあまりピンと来ないかもしれません。
たとえば、テキストファイルをGitで管理すると、ファイルの変更履歴を記録しておくことができます。
「やっぱり変更前の方が良かったな」と思ったときに、元の状態に戻したり、いつ・誰が・何を変更したのかを後から確認できるようになります。
豆知識
Gitを開発したのは、Linuxの創設者として有名なリーナス・トーバルズです。
バージョン管理とは何をしているのか
ここまでで、Gitは変更履歴を管理できるツールということを説明しました。
では、そのバージョン管理とは、具体的に何をしているのでしょうか。
一言でいうならば、ファイルの過去を残しておく仕組みです。
ファイルの過去を残しておけば、以下のような状況が発生しても問題ありません。
例1:変更したらエラーだらけになった場合
たとえば、自分でソースコードを変更した結果、エラーが大量に出てしまうことがあります。
「とりあえず元の状態に戻したいけど、もう上書き保存してしまった…」という経験をしたことがある方もいるかもしれません。
このような場合でも、バージョン管理をしていれば 変更前の状態にすぐ戻すことができます。
例2:いつ・どんな変更がされたかを確認したい場合
「このファイル、前と内容が変わっているけどどこが変わったんだろう?」
「先週の自分が書いたコードを今の自分が読んでも理解できない…」
このような場合でも、バージョン管理をしていればいつ・誰が・どの部分を変更したのかを後から確認できます。
リポジトリとは?
Gitでは変更履歴はリポジトリと呼ばれる場所に保存されます。
リポジトリとは、Gitで管理しているファイルと、その変更履歴をまとめて置いておく箱のようなものです。
Gitに触れる上で何度も出てくる言葉なので、まずは「履歴を入れておく箱」くらいの理解で大丈夫です。
リポジトリには大きく分けて2種類あります。
| 種類 | 保存場所 | 説明 |
|---|---|---|
| ローカルリポジトリ | 自分のPC | 自分のPC内で履歴を管理する |
| リモートリポジトリ | サーバー上 | 複数人で共有できる場所に履歴を管理する |
つまり、Gitを使ったバージョン管理は、
- ファイル本体
- そのファイルの過去の状態(履歴)
をまとめて、リポジトリという「箱」で管理しているというのが大きな特徴です。
GitHubとの関係
よく耳にするGitHubは、リモートリポジトリを置いておけるWebサービスのひとつです。
GitとGitHubは別物ですが、組み合わせて使うことで複数人での開発がスムーズになります。
Gitを始めるには?
ここまでで、Gitとバージョン管理の基本的なイメージが掴めたかと思います。
では、実際にGitを始めるにはどうすればよいのでしょうか。
一般的には、自分のPCにGitをインストールする方法がよく紹介されています。
しかし、初学者の方にとっては、
- インストール手順が多くて挫折しそう
- 設定項目の意味が分からず不安
- SSHキーの設定でつまずく
といった環境構築の壁が立ちはだかります。
実際、私自身もこの環境構築でかなり時間を取られました。
「Gitを学びたいのに、Gitに触る前に疲れてしまう」というのは、初学者あるあるかもしれません。
そこでおすすめなのがGitHub Codespaces
GitHub Codespacesは、GitHubが提供するクラウド上の開発環境です。
ブラウザ上でVS Codeのような画面が開き、その中でGitコマンドを操作できます。
GitHub Codespacesを使うと、これらの環境構築の壁をすべてスキップできます。
- Gitのインストール不要(クラウド側にすでにインストール済み)
- SSHキーの設定不要(GitHubアカウントの認証がそのまま使われる)
- PCのスペックや環境に依存しない(ブラウザがあればOK)
おわりに
ここまでで、Gitの概念とリポジトリのイメージが掴めたかと思います。
次の【実践編】では、実際にGitHub Codespacesを使ってGitを体験していきます。
GitHubアカウントを作成し、リポジトリを作成し、コミット・プッシュまで一通りの流れを体験できる内容になっています。
「読むだけでなく実際に触ってみたい」という方は、ぜひ【実践編】も読んでみてください。
最後まで読んでいただき、ありがとうございました!