Gitとは?未経験者でもわかるバージョン管理の基本
Gitとは、ファイルの変更履歴を管理するためのツールです。
未経験からエンジニアを目指す方にとって、最初は少し難しく感じるかもしれませんが、基本を理解すれば非常に役立つ便利なツールです。
身近な例で理解するGit
普段の生活に例えてみましょう。
スマホで撮った写真を編集するとき、「元の写真も残しておきたいな」と思ったことはありませんか?
そのため「IMG_0001.jpg」と「IMG_0001_編集済み.jpg」のように別々に保存しますよね。
文書作成でも同じことが起きます。「企画書.docx」を作って上司に提出したら修正依頼が来たので「企画書_修正版.docx」を作成。
さらに修正して「企画書_修正版2.docx」「企画書_最終.docx」「企画書_最終_確定.docx」…と増えていくパターンを経験したことがあるのではないでしょうか。
Gitはこの問題を解決します。一つのファイルで全ての変更履歴を管理できるのです。
写真アルバムでたとえるGitの仕組み
Gitを写真アルバムに例えてみましょう。
リポジトリ(Repository)
これはあなたの写真アルバム全体です。プロジェクトのすべてのファイルと変更履歴が入っています。
コミット(Commit)
これは「記念写真を撮る」ようなものです。作業の節目ごとに「現在の状態」をスナップショットとして保存します
例えば、
- 朝、企画書の章立てだけ作ったら1回目のコミット:「章立て作成完了」
- 昼、序論を書き終えたら2回目のコミット:「序論部分の執筆完了」
- 夕方、図表を追加したら3回目のコミット:「売上図表の追加」
コミットするたびにコメント(コミットメッセージ)を残せるので、「この変更で何をしたのか」も記録できます。
チェックアウト(Checkout)
アルバムの特定のページに戻ることです。「あの時点の状態に戻りたい」というときに使います。
例えば「図を追加する前の状態に戻したい」というときに、1回目のコミットの状態に戻れます。
ブランチ(Branch)
アルバムから分岐した別冊のミニアルバムを作るようなものです。
メインのアルバムはそのままに、別の方向性で写真を追加していけます。
例えば、企画書の本文はそのままに、別バージョンのデザインを試すことができます。
マージ(Merge)
2冊のアルバムを1冊にまとめる作業です。別々に進めていた作業を一つにします。
例えば、デザインと本文の修正を別々に行っていたものを、最終的に一つの企画書にまとめます。
共同作業とGit
プログラミングの世界では、一人で全てを作り上げることはめったにありません。
大抵のプロジェクトは複数人のエンジニアが協力して進めます。しかし、複数人で同じファイルを編集するとき、様々な問題が発生します。
例えば、あなたとAさんが同じテキストファイルを同時に編集したとします。あなたが1行目を修正し、Aさんが5行目を修正しました。
この変更をどうやって一つのファイルにまとめますか?
手作業でやるなら、Aさんの変更点を確認し、自分のファイルの5行目を書き換える…といった面倒な作業が必要です。
さらに厄介なのは、あなたとAさんが同じ行を異なる内容に変更した場合です。どちらの変更を採用すべきか、判断も難しくなります。
Gitはこのような共同作業の複雑さを解決するために設計されていおり、チームでの開発をスムーズにする機能がたくさん詰まっています。
例えば、友達と旅行アルバムを共同で作る状況を想像してみてください。
- リモートリポジトリ(Remote Repository)
クラウド上の共有アルバムです。GitHubなどのサービスがこれにあたります。 - クローン(Clone)
共有アルバムのコピーを自分のパソコンに持ってくることです。 - プッシュ(Push)
自分が追加した写真を共有アルバムにアップロードすることです。 - プル(Pull)
友達が追加した写真を自分のアルバムに取り込むことです。
なぜGitを使うの?

履歴管理が簡単
変更の履歴がすべて残るので、いつでも過去の状態に戻れます。
並行作業が可能
複数人が同じプロジェクトを同時に編集できます。
バックアップになる
リモートリポジトリにプッシュしておけば、パソコンが壊れてもデータは失われません。
変更の理由を記録できる
コミットするときにメッセージを残せるので、「なぜこの変更を行ったか」という情報も残せます。
Gitを使い始めるには
1. Gitのインストール
まずはGitをインストールしましょう。
- Windows: Git for Windowsからダウンロードしてインストール
- Mac: ターミナルで
xcode-select --install
を実行するか、公式サイトからダウンロード - Linux:
sudo apt install git
(Ubuntu/Debian)またはsudo yum install git
(Fedora/CentOS)でインストール
インストールが完了したら、コマンドラインでgit --version
と入力して、Gitがインストールされたことを確認しましょう。
🔰 未経験におすすめのGitコマンド集(超基本)
新しくGitリポジトリを作る
Git管理したいフォルダに移動(cd)してから、
git init
今いるフォルダをGit管理にします。
リモートリポジトリをコピーしてくる(ダウンロード)
git clone <URL>
GitHubなどのリポジトリを自分のPCに持ってくるときに使います。
例:
git clone https://github.com/username/repo-name.git
現在の状態を確認する
git status
何が変更されたか、どこがまだ保存されてないかを教えてくれる。
変更をステージに追加する(保存準備)
git add <ファイル名>
「このファイルを保存したいです」と伝えるコマンド。
例:すべて追加したいとき
git add .
git commit -m "ここにメッセージを書く"
実際に変更を「記録」するコマンド。メモ(コメント)もつけるのがルール。
例:
git commit -m "初めてのコミット"
GitHubなどにアップロードする
git push origin <push先のブランチ名>
自分のPCでの変更を、リモート(GitHub)に送るときに使う。
※ブランチ名(main
やmaster
など)はリポジトリによって違うよ!
originって何?
ここで出てくる「origin」とは、リモートリポジトリの場所(URL)に対して、Gitがデフォルトで付ける名前のことです。
例:「https://github.com/あなたのユーザー名/はじめてのプロジェクト.git」のmainにpushしたい場合
リモートリポジトリのURLに対しては「origin」という短い名前で参照できます。(Gitのデフォルトの仕様です)
そうすることで、git push origin main
だけで「リモートリポジトリのmainにpushしてね」と通じるようになるんです。
毎回長いURLを入力する代わりに「origin」と短く書くだけで済むのはとっても楽ですね。
git pull origin main
他の人が更新した内容を、自分のPCに取り込むときに使う。
履歴を見る(いつ何をコミットしたか)
git log
過去の変更履歴がずらっと出てくる。困ったときに頼れるやつ!
まとめ
この記事では、未経験エンジニアが実務で最初に使用するであろうGitコマンドを厳選してご紹介しました。
日常的な操作でまずは慣れていきましょう!
また、コマンドラインの操作に不安がある場合は、SourceTree、GitKraken、GitHub Desktop などのビジュアルツールを併用するのでおすすめですよ。
コメント