はじめに
ソースコードをどのように管理していますか?
いまだに、コピペやExcelで管理していませんか。
一人で開発している場合には、それほど気にならないかもしれませんが、チームでの開発ではそうはいきません。ファイルを上書きされてしまったり、どれが最新ソースかわからなくなってしまうでしょう。
この記事では、イマドキのソースコード管理方法を知りたいエンジニアの方のために、Gitを使ったソースコード管理についてお伝えしていきます。
今さら聞けないGitの基礎知識
Gitは、Linuxの父リーナス・トーバルズ氏が開発した分散型バージョン管理システムです。
中央管理ではないため、ファイルを分散して持つことができ、チーム開発でもスムーズに使用できます。
もちろん、オフライン状態でも問題ありません。
Gitで保存されたファイルはバージョン管理され、最新バージョン以前のファイルも取り出せます。
このため、以前のファイルからどこが変更されたかもわかります。
ソースコードだけでなく、どのようなファイルでも保存可能です。
覚えておきたいGitの基本要素
Gitリポジトリ
Gitリポジトリは、実際にファイルが保存される場所です。
ファイルシステム上に通常のフォルダやファイルとして存在していますが、保存されたファイルそのものはGit独自の形式で格納されています。
ちょっとしたデータベースのようなものです。
Gitコマンド
Gitコマンドは、Gitリポジトリを操作するためのコマンド群です。
基本的にCLIで操作しますが、GUIフロントエンドツールも用意されています。
GUIで操作するといっても内部ではコマンドが実行されているので、Gitコマンドを学んでおくと理解しやすくなります。
リモート/ローカル
Gitリポジトリには、リモートリポジトリとローカルリポジトリの2つがあります。
これが分散バージョン管理システムといわれるゆえんです。
一般的な使用方法として、サーバー上にリモートリポジトリを作成し、それをクローン(コピー)してローカルリポジトリを作成します。それから、ローカルリポジトリに対して変更を加えていき、都合のいいタイミングでリモートリポジトリに反映します。
リモートリポジトリは複数人で共有できるため、チームメンバー全員でソースコードを共有できます。
Gitでソースコードを管理する流れ
リモートリポジトリを作成する
まずは、サーバー上にリモートリポジトリを作成します。
GitHubなどのリポジトリサービスを使ってもよいでしょう。
なお、一人で使用する場合には、リモートリポジトリを作成しなくてもOKです。
ローカルリポジトリを作成する
次に、リモートリポジトリをクローン(コピー)してローカルリポジトリを作成します。
この段階では、リモートとローカルがまったく同じ状態になっています。
一人で使用する場合には、ローカルリポジトリを新規作成しましょう。
ファイルをステージする
次に、ローカルリポジトリに対して保存するファイルを「ステージ」します。
ステージとは、コミットするファイルを予約することです。
ステージされたファイルは「ステージングエリア」に移動され、次回のコミット対象になります。
コミットについては次で説明します。
ファイルをコミットする
次に、ステージしたファイルを「コミット」します。
コミットとは、リポジトリにファイルを格納することです。
Gitでは、ステージ→コミットという2段階の手順を踏みます。
任意の数のファイルをコミットできますので、意味のあるまとまりでコミットしましょう。
コミットにはメッセージを付けることが必須となっており、コミットの内容を端的に表す必要があります。あとで調べた時に、内容がすぐに分かるようなメッセージにしましょう。
変更をリモートリポジトリに反映する
最後に、ローカルリポジトリに対して行った変更をリモートリポジトリに反映させます。
これを「プッシュ」といいます。
リモートリポジトリにプッシュしないと、他のチームメンバーと変更点を共有できないので、こまめにプッシュしましょう。
また、逆にリモートリポジトリの変更をローカルリポジトリに反映する処理を「プル」といいます。
作業を始める前にリモートリポジトリからプルを行い、他のメンバーの変更点を反映しましょう。
まとめ
Gitは、基本的な使い方だけであれば覚えることが少なく、初めての方でもすぐに使い始めることができます。
CLIのコマンドを覚えるのが面倒くさい、という方はGit ExtensionsやGit GUIなどのGUIフロントエンドツールを使いましょう。
ファイルの状態も視覚的に把握できるためオススメです。