2025.01.29
初心者向け!Gitの基本と使い方
はじめに
今回は、Web制作の現場でとても役立つツール、Git(ギット)について紹介します。
Gitは、コードの変更履歴を管理し、チームでの共同作業をスムーズにするためのバージョン管理システムです。
Gitは2005年にリーナス・トーバルズさんが開発し、今ではオープンソースから商用プロジェクトまで幅広く使われています。
Gitを使うメリット
メリット①:変更履歴の管理
どのファイルがいつ、誰によって変更されたのかを簡単に追跡できます。これにより、過去のバージョンに戻したり、変更内容を確認したりすることができます。
メリット②:チームでの共同作業
複数人で同時に作業しても、変更が衝突することなくスムーズに進められます。ブランチを使って個別に作業し、マージすることで一つのプロジェクトに統合できます。
メリット③:リモートリポジトリの活用
GitHubやGitLabなどのリモートリポジトリを使うことで、プロジェクトをオンラインで管理し、どこからでもアクセスできます。これにより、リモートワークやオープンソースプロジェクトへの参加が容易になります。
メリット④:効率的なバグ修正と機能追加
ブランチを使って新しい機能の開発やバグ修正を行い、問題が解決したらメインのブランチにマージすることで、安定したコードベースを保つことができます。
メリット⑤:コードのレビューとフィードバック
プルリクエストを通じて、他の開発者からコードのレビューやフィードバックを受けることができ、コードの品質を向上させることができます。
Gitの基本概念
リポジトリ
リポジトリ(Repository)は、プロジェクトのファイルやディレクトリの集合を管理する場所です。
Git では、リポジトリ内のすべての変更履歴が保存されます。
リポジトリはローカルリポジトリとリモートリポジトリに分かれます。
ローカルリポジトリは開発者のローカルマシン上にあり、リモートリポジトリはGitHubやGitLabなどのサーバー上にあります。
コミット
コミット(Commit)は、リポジトリに対する変更を記録する操作です。
コミットを行うことで、変更内容がリポジトリに保存され、後からその変更を確認したり、元に戻したりすることができます。
コミットには一意のハッシュ値が付与され、これによって特定のコミットを識別できます。 コミットメッセージを付けることで、変更内容の概要を記録できます。
ブランチ
ブランチ(Branch)は、リポジトリ内の独立した作業ラインを表します。
ブランチを使用することで、異なる機能や修正を並行して開発することができます。
例えば、新しい機能を開発するためのブランチや、バグ修正のためのブランチを作成することができます。
ブランチは、必要に応じてマージすることで統合されます。
マージ
マージ(Merge)は、異なるブランチの変更を統合する操作です。
マージを行うことで、複数のブランチで行われた変更を一つのブランチにまとめることができます。
マージの際に、変更内容が競合する場合はコンフリクトが発生し、手動で解決する必要があります。
コンフリクト
コンフリクト(Conflict)は、マージ操作中に異なるブランチで行われた変更が競合する場合に発生します。
コンフリクトが発生すると、Gitは自動的にマージを完了できず、手動で競合を解決する必要があります。
競合を解決するためには、競合しているファイルを編集し、どの変更を採用するかを決定します。
競合が解決されたら、変更をコミットしてマージを完了します。
プルリクエスト
プルリクエストは、他の開発者に対して自分の変更をレビューしてもらい、メインのブランチにマージするよう依頼する機能です。これにより、コードの品質を保ちながら、チーム全体での協力が促進されます。プルリクエストには、変更内容の説明や関連する課題のリンクを含めることができ、レビューアが変更を理解しやすくなります。
基本的なGitコマンド
リポジトリの作成
新しいリポジトリを作成するには、以下のコマンドを実行します。
git init
これにより、現在のディレクトリが Git リポジトリとして初期化されます。
このコマンドを実行すると、.gitという隠しディレクトリが作成され、ここにリポジトリのすべてのメタデータとオブジェクトが保存されます。
これにより、Gitはこのディレクトリ内のファイルの変更を追跡できるようになります。
ファイルのステージング
変更したファイルをコミットする前に、ステージングエリアに追加する必要があります。
ステージングエリアは、次のコミットに含める変更を一時的に保存する場所です。
以下のコマンドを実行します。
git add <ファイル名>
すべての変更をステージングする場合は、以下のコマンドを使用します。
git add .
ステージングエリアを使用することで、コミットする変更を選択的に管理することができます。
これにより、複数の変更を一度にコミットするのではなく、論理的に関連する変更をまとめてコミットすることができます。
コミット
ステージングエリアに追加された変更をコミットするには、以下のコマンドを実行します。
git commit -m "コミットメッセージ"
コミットメッセージには、変更内容を簡潔に記述します。
リモートリポジトリの設定
リモートリポジトリは、プロジェクトのコードをオンラインで管理し、チームメンバーと共有するために使用されます。以下の利点があります。
- バックアップ: コードのバックアップをオンラインに保存できます。
- 共同作業: チームメンバーがリモートリポジトリにアクセスし、共同作業ができます。
- バージョン管理: コードのバージョン管理が容易になり、過去のバージョンに戻すことができます。
リモートリポジトリを設定するには、以下のコマンドを実行します。
git remote add origin <リポジトリURL>
これにより、リモートリポジトリが origin という名前で追加されます。
クローン
リモートリポジトリをローカルにクローンするには、以下のコマンドを実行します。
git clone <リポジトリURL>
これにより、指定したリポジトリのコピーがローカルマシンに作成されます。
クローン操作は、リモートリポジトリのすべてのファイルとその履歴をローカルに複製するため、初めてプロジェクトに参加する際や、新しい環境で作業を始める際に便利です。
例えば、GitHub上のリポジトリをクローンする場合は以下のように実行します。
git clone https://github.com/username/repository.git
このコマンドを実行すると、repository という名前のディレクトリが作成され、その中にリポジトリの内容が複製されます。以降は、このローカルリポジトリ内で作業を行い、変更をリモートリポジトリにプッシュすることができます。
プル
リモートリポジトリの変更をローカルリポジトリに反映するには、以下のコマンドを実行します。
git pull origin <ブランチ名>
例えば、mainブランチからプルする場合は以下のように実行します。
git pull origin main
これらの操作を通じて、リモートリポジトリとローカルリポジトリ間で変更を同期し、共同作業を円滑に進めることができます。
プッシュ
ローカルリポジトリの変更をリモートリポジトリに反映するには、以下のコマンドを実行します。
git push origin <ブランチ名>
例えば、mainブランチにプッシュする場合は以下のように実行します。
git push origin main
ステータスの確認
現在のリポジトリの状態を確認するには、以下のコマンドを実行します。
git status
これにより、変更されたファイルやステージングエリアの状態を確認できます。
コミット履歴の確認
リポジトリのコミット履歴を確認するには、以下のコマンドを実行します。
git log
これにより、過去のコミットメッセージや変更内容を確認できます。
ブランチ操作
ブランチの作成
新しいブランチを作成するには、以下のコマンドを実行します。
git branch <ブランチ名>
ブランチの切り替え
作成したブランチに切り替えるには、以下のコマンドを実行します。
git checkout <ブランチ名>
ブランチのマージ
ブランチをマージするには、以下のコマンドを実行します。
git merge <ブランチ名>
コンフリクトの解消
マージ時にコンフリクトが発生した場合、手動で解決する必要があります。
コンフリクトが発生したファイルを編集し、以下のコマンドを実行します。
git add <ファイル名>
git commit
Gitのインストールと設定
Gitのインストール方法
Gitは、Windows、macOS、Linux の各プラットフォームで利用可能です。
以下にWindowsとmacOSでのインストール方法を示します。
Windows
- Git公式サイトからインストーラーをダウンロードします。
- ダウンロードしたインストーラーを実行し、画面の指示に従ってインストールします。
macOS
- ターミナルを開き、以下のコマンドを実行します。
brew install git
- Homebrewがインストールされていない場合は、Homebrew公式サイトの手順に従ってインストールしてください。
初期設定
Gitをインストールしたら、初期設定を行います。
以下のコマンドを実行して、ユーザー名とメールアドレスを設定します。
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
これにより、コミット時に設定したユーザー名とメールアドレスが使用されます。
この設定は、誰がどの変更を行ったのかを記録するために重要です。
各コミットには、設定されたユーザー名とメールアドレスが含まれ、後から変更履歴を追跡する際に役立ちます。
設定ファイル
.gitignore
.gitignoreファイルは、Gitに追跡しないファイルやディレクトリを指定するためのファイルです。 例えば、ビルド成果物や一時ファイルなど、バージョン管理に不要なファイルを除外するために使用します。
# .gitignoreの例
*.log
*.tmp
node_modules/
dist/
.gitattributes
.gitattributesファイルは、特定のファイルに対する属性を設定するためのファイルです。 例えば、特定のファイルをマージする際の動作をカスタマイズすることができます。
# .gitattributesの例
*.txt text
*.jpg binary
GUIツールの利用
Gitの操作はコマンドラインで行うことが一般的ですが、GUIツールを使用することで視覚的に操作を行うこともできます。
以下に代表的なGitのGUIツールを紹介します
SourceTree
SourceTreeは、Atlassianが提供する無料のGitのGUIクライアントです。複数のリポジトリを一元管理できるほか、詳細な履歴の確認やブランチの操作が可能です。
インストール方法は、SourceTree 公式サイトからインストーラーをダウンロードし、画面の指示に従ってインストールします。
Visual Studio Code
Visual Studio Code(VS Code)は、Microsoftが提供する無料のコードエディタで、Gitの機能が統合されています。
エディタ内で直接 Git の操作を行うことができ、コミットやプッシュ、プルなどの基本操作が可能です。
また、VS Codeには豊富な拡張機能があり、Gitの操作をさらに便利にすることができます。
インストール方法は、Visual Studio Code 公式サイトからインストーラーをダウンロードし、画面の指示に従ってインストールします。
拡張機能の紹介
VS Codeには、多くの拡張機能が提供されており、Gitの操作をサポートするものも多数あります。
以下に代表的な拡張機能を紹介します。
- GitLens: GitLensは、Gitの履歴やブランチの情報を視覚的に表示する拡張機能です。
コミットの詳細や変更履歴を簡単に確認することができます。 - Git History: Git Historyは、リポジトリのコミット履歴を視覚的に表示する拡張機能です。
コミットの詳細やファイルの変更履歴を確認することができます。 - Git Graph: Git Graphは、リポジトリのブランチ構造を視覚的に表示する拡張機能です。
ブランチの作成やマージの履歴をグラフィカルに確認することができます。
これらの拡張機能を利用することで、VS CodeでのGit操作がさらに便利になります。
まとめ
Gitは、Web制作の現場でとても便利なツールです。
基本的な使い方を覚えると、効率的に作業ができます。
GUIツールや拡張機能を使えば、さらに簡単に操作できます。
この記事を参考にして、Gitの基本をマスターしてみてくださいね!
いいねありがとうございます!
この記事を書いた人
鈴木 秀一朗
フロントエンジニア
《 仕事で大切にしていること 》
迅速丁寧な対応を心がけています。
元々営業・販売職をしていたので、迅速丁寧な対応がお客様の満足度を上げ、また私自身の仕事をする上での満足度を上げることにも繋がると考えています。