【初心者向け】Git チュートリアル - 完全ガイド(Mac・Windows対応)
はじめに
初めてバージョン管理に触れる方は、複数人で同じファイルを編集するときに「どのタイミングで、誰が、どこを、どのように変更したか」が分かりづらいと感じることも多いのではないでしょうか。 そこで役立つのがGitです。 このツールを導入すれば、変更内容を履歴としてまとめて管理できるため、どの段階でも過去の状態へ戻せます。 また、複数人が同時に作業していても、衝突や混乱を最小限に抑えられる点が大きな魅力です。
本記事では、Mac・Windowsの環境に対応したセットアップ方法や、基本的なコマンドの使い方を中心に解説します。 初心者の皆さんにもわかりやすいようにポイントを絞って説明しますので、開発経験がない方も参考にしてください。
この記事を読むとわかること
- バージョン管理の基本的な考え方
- Gitの導入手順と初期設定の流れ
- コマンド操作の基本と活用シーン
- チーム開発での便利な使い方
- 競合やエラーが起きた際の対処方法
Gitとは何か
Gitは、分散型のバージョン管理システムとして広く使われています。 単にファイルのバックアップを取るだけでなく、「どこを」「いつ」「誰が」「どのように」変更したかを詳細に履歴として記録できる点が特徴です。
例えば、プログラミングでコードを修正するときだけでなく、ドキュメント執筆やデザインの変更などでも役立ちます。 過去の履歴から変更内容を確認したり、必要に応じて以前の状態に戻したりする操作も容易です。
なぜ初心者でもGitが必要か
Gitを導入すると、少人数の作業でも「もし失敗したらどうしよう」という不安をやわらげられます。 履歴がこまめに残るので、想定外のバグやミスがあっても元通りに戻しやすいからです。
さらに、チーム開発になった際には複数人が同じタイミングでファイルに手を加えても、どのように変更を加えたかをGitが整理してくれます。 これによって、変更の衝突やコード上の混乱を最小限に抑えられます。
インストールと初期設定
Gitを利用するためには、まず環境へのインストールが必要です。 ここではMacとWindows、それぞれの手順をざっくりと見ていきましょう。
Macの場合
Macには最初からGitが入っていることもあります。
ターミナルで git --version
と入力し、エラーが出る場合やバージョン情報が表示されない場合は下記のように対応してください。
1. Homebrewを使う
Homebrew(通称brew)を使っている方は、brew install git
で手軽に導入できます。
2. macOSのアップデート確認
まれに、Xcode関連のコンポーネントを入れるとGitが利用可能になることもあります。 ただし、不要なものまでインストールしたくない場合はHomebrewなどの専用パッケージマネージャが便利でしょう。
Windowsの場合
Windowsでは、公式サイトからインストーラをダウンロードして使うのが一般的です。
1. 公式サイトから入手
インストーラをダウンロードしたら、そのままダブルクリックで起動し、画面の指示に沿って進めます。
2. インストール後の確認
git --version
をコマンドプロンプトやGit Bashで試し、バージョンが表示されれば完了です。
3. ユーザー名とメールアドレスの設定
例えば
git config --global user.name "ユーザー名" git config --global user.email "メールアドレス"
のように設定することで、コミットログに自分の識別情報が反映されるようになります。
基本操作と流れ
Gitを使う上でまず押さえておきたいのが、コマンドを通じた基本的な作業フローです。
リポジトリの作成
新しいリポジトリを作るには、対象となるフォルダに移動して git init
を実行します。
これで、そのフォルダがGit管理下に入り、ファイルの変更を追跡できるようになるのです。
ステージングとコミット
ローカルリポジトリで作業するうえで、ステージング と コミット という2つの手順が重要です。
1. ステージング
変更があったファイルをGitに登録する作業。
例えば git add index.html
で index.html
をステージングすることができます。
2. コミット
ステージングされた変更を確定させ、履歴として保存する作業。
git commit -m "コメントを記入"
とすれば、今ステージに上がっているすべての変更を「ひとかたまり」として記録できます。
リモートリポジトリとの連携
複数人で開発する場合や、バックアップ目的でGitHubなどのサービスにリモートリポジトリを用意することもよくあります。
ローカルリポジトリにリモートのURLを登録しておけば、git push
や git pull
でやり取りができるようになります。
git remote add origin <リモートリポジトリのURL> git push -u origin main
このように設定しておくと、今後は git push
だけでアップロード可能です。
実務での活用シーン
Gitは個人開発からチームでの大規模開発まで幅広く利用されます。 ここでは、現場でよくある運用方法やポイントを少しずつ紹介していきます。
ブランチの使い方
新しい機能を追加したり、大きな修正を行う場合は、メインのブランチからブランチを切って作業することが一般的です。 メインブランチが常に動作する状態を保ったまま、作業ブランチで自由に変更を加えられます。
作業が終わり、テストを経て安定していると判断したら、メインブランチにマージリクエスト(プルリクエスト)を送るという流れです。 これにより複数人で同時に作業しても、それぞれが取り組んだ部分を安全に管理できます。
リリースの流れ
リリース前に、リリース用のブランチを1本用意しておき、そこに各自が開発した機能をまとめることが多いです。 品質管理や最終テストが終わったら、リリースブランチから正式にリリース作業を行います。 もしリリース後に問題が見つかった場合も、Gitでどこを変更したかを確認し、早めに修正できます。
GitフローやGitHubフロー
大規模開発の場合は、GitフローやGitHubフローと呼ばれるテンプレート的な運用がよく知られています。
Gitフロー
運用のためのブランチを複数使い分ける。 例: メインブランチ、開発ブランチ、リリースブランチなどを厳格に分ける。
GitHubフロー
シンプルにメインブランチから短期的にブランチを作成し、プルリクエストを通じてコードレビューしてもらう形態。 小〜中規模の開発やリリースサイクルが短いプロジェクトに向いています。
よくあるトラブルと対処法
Gitは便利ですが、使い方に慣れるまでは思いがけないエラーや競合が起きることがあります。 ここではよくあるケースをいくつか挙げてみましょう。
コンフリクト(競合)
複数のブランチで同じ部分を編集したままコミットし、後でマージしようとするとコンフリクトが発生することがあります。
この場合、ファイル中に <<<<<<<
や >>>>>>>
などの記号が入り、どこが衝突しているかがわかる仕組みです。
手動でファイルを確認し、どの変更を活かすかを決めてから記号を取り除き、改めてコミットしてください。
直前のコミットを修正したい
コミットメッセージに誤字があったり、少しだけ追加修正したい場合は、 git commit --amend
を使えます。
ただし、既にリモートにプッシュしたコミットを修正すると、他メンバーと履歴が食い違う恐れがあります。
特に共同作業中は慎重に扱いましょう。
ステージに上げた変更を取り消したい
間違えてステージに上げてしまったファイルがある場合は、 git reset <ファイル名>
でステージから外すことができます。
また、未コミットの修正自体を取り消したいときは git checkout -- <ファイル名>
で元の状態に戻せます。
MacとWindowsで気を付けたい違い
基本的な操作はどちらのOSでも共通ですが、改行コード や 大文字小文字の扱い に差があります。
改行コード
Windowsの既定はCRLF、MacやLinuxはLFです。 Gitの設定で自動変換を有効にしておくと、環境差異を気にせずに作業しやすくなります。
大文字小文字の扱い
Windowsではファイル名の大文字と小文字の違いを厳密に区別しないケースが多いですが、MacやLinuxでは区別します。 そのため、ファイル名を変更する際には注意が必要です。
チームで共同開発を行うなら、OSの差異を意識してプロジェクト全体のルールを定めると混乱を減らせます。 例えば「ファイル名はすべて小文字にする」「自動変換は無効にしない」といった共通のポリシーを決めてみましょう。
便利な機能と応用
Gitを少し使い始めて慣れてきたら、さらに便利なテクニックにも挑戦してみてください。
タグを使ったバージョン管理
特定のコミットにタグをつけることで、「このコミットがバージョン1.0.0」というように重要な節目をわかりやすく残せます。 リリースの管理などでも役立つため、大きな機能追加の直前直後にタグ付けしておくと振り返りやすいでしょう。
エイリアスでコマンドを短縮
Gitのコマンドを頻繁に使う人は、 git st
で git status
を実行できるよう設定するなど、エイリアスで楽に入力できるようにすると便利です。
.gitconfig
でエイリアスを設定する方法もありますし、シェル環境で独自にエイリアスを定義するやり方もあります。
複数人で開発している場合、あまりにも独自のエイリアスを作りすぎると他メンバーとのやり取りで混乱することもあります。 共通で使うエイリアスを決める場合は、チーム全員が理解しやすい名称にしましょう。
学びを進めるうえでのステップ
ここまで紹介してきたように、Gitは大きく分けて「ローカルリポジトリ運用」と「リモートリポジトリ運用」の2つの段階があります。
-
ローカルリポジトリで慣れる 小さなプロジェクトで
git add
~git commit
の流れを繰り返し体験してみる。 -
リモートリポジトリを連携する GitHubなどにアップロードして、自分以外のPCからプル(ダウンロード)してくる流れを試してみる。
-
ブランチを積極的に活用する 作業用のブランチで変更し、メインにマージするという一連の流れを身に付ける。
-
チーム開発のルールを学ぶ GitフローやGitHubフローを知り、Pull Request(プルリクエスト)のレビューを受ける手順などを体験する。
こうしたステップを踏むことで、さまざまな実務シーンで応用しやすくなるでしょう。
まとめ
ここまで、バージョン管理の基礎であるGitの概要やインストール方法、実務でも役立つ応用的な運用例を一通り見てきました。 初めは「ステージングとコミットって何が違うの?」と疑問に思うかもしれませんが、慣れてくるとGitを使わない開発は考えられないくらい便利に感じられるはずです。
- 過去の履歴をさかのぼれる
- 複数人が同時に作業しても混乱が少ない
- クラウドサービスとの連携でどこからでもアクセス可能
以上のメリットは、プログラミング初心者の方にとっても大いに助けになるでしょう。 MacかWindowsかで多少のコマンドや設定が異なりますが、根本的な仕組みは同じなので、一度習得してしまえば幅広いプロジェクトに応用できます。
もしまだGitを導入していない方は、ぜひこの記事を参考に環境を整えてみてください。 今後の開発効率だけでなく、ミスのリカバリーやチーム内のコミュニケーションも向上し、学習や実務のステップアップにつながるでしょう。 ぜひ日々の開発や作業の中で積極的に活用してみてください。