プログラムを開発する際、少し過去に戻りたい、分岐したいというように、コードのバージョン管理は非常に重要です。
複数の開発者が関わるプロジェクトでは特に、誰がどの部分を変更したのか、いつどのような修正が加えられたのかを正確に把握する必要があります。
これを実現するための強力なツールが「Git:ギット」です。
今回は、このGit(ギット)についてまとめていきます。
Git(ギット)とは
Gitは分散型バージョンシステム(DVCS:Disributed Version Control System)の1種です。
ソースコードの変更履歴を記録、バージョン管理を行うためのツールで、Linux開発者であるリーナス・トーバルズ氏によって2005年に開発されました。
Gitを使うことで、複数の開発者が同時にプロジェクトに取り組み、変更内容を統合することが容易になります。
Gitの基本的な概念
Gitにはいくつか基本的な概念があります。
これらを理解することで、Gitの操作がスムーズになります。
リポジトリ(Repository)
プロジェクトの管理単位で、コードやその変更履歴を格納します。
ローカルリポジトリとリモートリポジトリがあります。
コミット(Commit)
変更をリポジトリに保存する操作です。
各コミットには一意のハッシュ値が割り当てられ、誰がどの変更をいつ行ったのかが記録されます。
ブランチ(Branch)
開発の流れを分岐させる機能です。
メインの開発ライン(通常はmasterやmainブランチ)とは別に、機能ごとに分岐して開発を進めることができます。
マージ(Merge)
異なるブランチの変更を統合する操作です。
これにより、別々に開発された機能や修正を1つのブランチにまとめることができます。
リモート(Remote)
リモートリポジトリは、ネットワークを介してアクセスできるリポジトリです。
GitHubやGitLabなどのサービスがこれにあたります。
Gitの基本操作
ここではGitの基本的な操作を流れで紹介します。
Gitのインストール
まずは、Gitをインストールします。
お使いのOSに対応したバージョンのダウンロードが必要です。
リポジトリの初期化
新しいプロジェクトをGitで管理するためには、リポジトリを初期化する必要があります。
これにより、カレントディレクトリがGitリポジトリとして初期化されます。
git init
ファイルのステージング
変更をコミットする前に、変更内容をステージングエリアに追加します。
git add <ファイル名>
または、すべての変更をステージングする場合は以下のコマンドを使います。
git add .
コミット
ステージングされた変更をリポジトリにコミットします。
コミットメッセージには、変更内容を簡潔に記述します。
git commit -m "コミットメッセージ"
ブランチの操作
新しいブランチを作成し、そのブランチに切り替えるには以下のコマンドを使います。
git branch <ブランチ名>
git checkout <ブランチ名>
新しいブランチを作成して同時に切り替えるには以下のコマンドが便利です。
git checkout -b <ブランチ名>
リモートリポジトリの設定
リモートリポジトリを設定し、ローカルリポジトリの内容をプッシュ(送信)します。
まずリモートリポジトリを追加します。
git remote add origin <リモートリポジトリのURL>
次に、変更をリモートリポジトリにプッシュします。
git push origin <ブランチ名>
以上が基本的な操作です。
今回は表面的な操作の紹介のみなので、実際に自分の手を動かしながら試してみるという方は、以下のサイトなども参考にしてみてください。
Gitの利点
Gitを使う事で得られる利点は以下のものがあります。
履歴の管理
過去の変更履歴をすべて記録し、特定のバージョンに戻ることができます。
チーム開発の支援
複数の開発者が同時に作業し、変更内容を統合するのが容易になります。
ブランチのよる分岐開発
機能ごとに分岐して開発を進め、後で統合することができます。
変更内容の可視化
どのファイルがどのように変更されたかを視覚的に確認するツールが豊富です。
まとめ
Gitはプログラムのバージョン管理において非常に強力なツールであり、チームで開発する上で大きな助けとなってくれます。
更に行動な操作を学ぶことで、チーム開発や大規模プロジェクトでも効果的に活用することができます。
以上、Gitについてのお話でした。
保守性の高いコードを書きたい人におすすめの本紹介記事はこちら。