Gitは複数人のプログラマーで共同作業をする開発の現場をはじめ、昨今ではWebデザイナー・Webライターなどの利用も増えています。オンラインストレージを使って共同作業をするのに比べ、Gitを使えば作業の効率を大幅に改善できるからです。
この記事では、Gitの概要やメリット、Gitの基本的な知識や、よく一緒に使われるGitHubとの違い、インストール方法について解説しています。Gitを導入するか検討している際は、この記事を参考にして下さい。
目次
Gitとは【ソースコードなどを管理・共有するのに使う分散型バージョン管理システム】
Gitとはソースコードや変更履歴を管理するために使われる、代表的な分散型バージョン管理システムです。Gitによってファイルのバージョンを管理できるので、仮にほかの誰かにソースコードが上書きされても、簡単に元へ戻すことができます。そのため作業者は、安心してソースコードの更新作業を行えるわけです。
Gitは開発の現場で幅広く利用されているのはもちろん、デザイナーやライター達にも愛用されています。Gitによってソースコードだけでなく、デザインやテキストなども同じようにバージョン管理できるからです。
Gitを含むバージョン管理システムが生まれた背景
ソースコードやデザインなどのデータを、複数の作業者が共同で編集している現場は多いでしょう。そんな現場でよくあるのが、修正版や更新版などのファイルが増え、「どのファイルを編集すればよいか」がわからなくなることです。
誤ったファイルを更新してしまうと、データが消えてあとから困ることになります。このようなことで作業者がいちいち迷うようであれば、作業効率が著しく落ちてしまうことは言うまでもありません。
Gitのようなバージョン管理システムは、こういった問題を解決するために生まれました。バージョン管理システムを使えば、いつ・誰が・どのように変更したかといった変更履歴と共にファイルを保存できます。
変更履歴が残っていることから、仮にあとで誤って上書きしても任意のバージョンへ簡単に戻すことも可能です。バージョン管理システムを使えば1つのファイルを共同で編集する際に、修正のたびごとにファイルを増やす必要がありません。
Gitを使うメリット・Gitでできること
Gitはどのようなことができて、Gitを使うことでどんなメリットがあるのでしょうか。以下、主なメリットをひとつずつみていきましょう。
古いバージョンから新しいバージョンのファイルまで管理できる
Gitを使うことで、古いバージョンから新しいバージョンのファイルまで一元的に管理が可能です。修正をする際に新しいファイルを増やしたり、見分けがつくようにファイル名を変えたりする必要もありません。いたずらにファイルが増えてしまうことがなくなるので、従来に比べはるかにファイル管理がしやすくなります。
簡単に古いバージョンに戻せる
Gitが各ファイルの変更履歴を管理しているので、簡単に古いバージョンへ戻すことができます。古いバージョンへ戻すのにあたって、手間のかかる操作は必要ありません。仮に誤って上書きしてしまっても、すぐに任意のバージョンに戻せるのです。
チームでファイルや変更履歴をスムーズに共有できる
Gitはネットワークを経由して、複数人でファイルや変更履歴を共有する機能もあります。
共有ストレージ上のファイルを共同で編集する場合、バージョンごとなどでファイルが作成されフォルダ内が煩雑になってしまっていました。しかし、Gitを使うことで、バージョンごとにファイルを増やす必要がなくなり、ずっとスムーズに共有できるようになるのです。
豊富な機能を使いチームでの共同開発を効率化できる
Gitはチームでの共同開発を行う際に役立つ機能が豊富です。たとえばGitでは、簡単なコマンドで以下のような操作を実行できます。
- リモートにあるファイルや変更履歴を自分のパソコンに取り込む(コピーする)
- 他の人の行った修正を手元のファイルに反映させる
- バグ修正用や機能追加用などで、変更履歴を自由に枝分かれさせたり(ブランチを切ったり)、その枝分かれを統合したり(マージしたり)できる、など
Gitでこれら機能を活用することで、チームの共同開発を効率化できるのです。
Gitのデメリット・注意点
チームでGitを使う場合、基本的には全員がGitを使えるように学習する必要があります。たとえば一部メンバーだけ従来通り共有ストレージを使うことになると、効率が大幅に下がってしまうので現実的ではないでしょう。チームでGitを利用する際は、チーム全員がGitを学習する必要があることから、その分だけ学習コストがかかるのです。
なおかつGitには、特有の概念や操作方法があります。メンバー全員がGitを学ぶ場合、組織によってはGitの利用は「ハードルが高い」と感じるかもしれません。
またGitはチームによっていろいろな使い方ができる反面、裏を返せばきちんと運用ルールを決めておかないと混乱することになります。Gitを使って共同作業の効率をあげるためには、適切に運用ルールを構築・周知する必要があるのです。その分の手間がかかる点も、Gitを使うデメリットといえます。
Gitを使う際に知っておきたい基本用語
ここではGitを使う際に知っておきたい基本用語・基本知識についてみていきましょう。Gitは、従来の共有ストレージとは使い勝手が大きく異なります。そのためGitを使う際は、基本的な知識をきちんと把握しておくことが必要です。
【リポジトリ・コミット・プル・プッシュ】
用語名 | 概要 |
---|---|
リポジトリ | ファイルや変更履歴を保存しておくデータベース。 ローカルにある「ローカルリポジトリ」と、ネットワーク上の「リモートリポジトリ」がある。 ユーザーがローカル環境でソースコードの編集などを行う際は、ローカルリポジトリを使う。 一方リモートリポジトリは、他ユーザーとファイル・変更履歴を共有する際に利用する。 |
コミット | ファイルや変更履歴をリポジトリへ登録すること |
プッシュ | コミットを、ローカルリポジトリからリモートリポジトリへ反映させること。 プッシュを行うことで、ローカルリポジトリ上のファイルや変更履歴が、リモートリポジトリへアップロードされる。 |
プル | リモートリポジトリのコミットを、ローカルリポジトリへ反映させること。 プルを行うことで、リモートリポジトリ上のファイルや変更履歴が、ローカルリポジトリへダウンロードされる。 |
クローン | リモートリポジトリのコミットを、ローカルリポジトリへコピーすること。 プルとの違いは、プルでは差分のみコピーするのに対し、クローンでは丸ごとコピーする点にある。 そのため何も登録されていないローカルリポジトリへコピーしたいときは、クローンを使う。 |
【ブランチ・マージ】
用語名 | 概要 |
---|---|
ブランチ | 同一リポジトリ内で変更履歴を分岐させること。 また、作成した分岐もブランチと呼ぶ。ブランチを作成した場合、ブランチ側で変更を反映させてもメインのブランチには影響しない。 バグ修正や機能追加などで、ソースコードのバージョン管理を分けて管理したいときに使う。 |
マージ | 作成したブランチをメインのブランチへ統合すること。 これによってブランチの変更内容が、メインのブランチに反映する。 |
GitとGitHubの違い
GitHubとは、Gitの仕組みを利用したウェブ上のバージョン管理サービスです。Gitの仕組みを採用するサービスはほかにもありますが、GitHubはそのなかでも世界中で最も利用されています。特に開発の現場では、GitHubが必要不可欠な存在になっていることが多いです。
GitHubはGitの仕組みを使っているので、Gitの基本機能を一通りそろえています。また自分のPC内にローカルリポジトリを作成し、GitHubをリモートリポジトリとして利用することも可能です。(多くの開発現場では、実際、そのようにしてGitHubを使っています。)
GitHubの基本的な使い方や操作方法については、以下記事で確認できます。
GitHubは世界中のエンジニアが開発を行う際に、プログラムのソースコードを共有するのに利用しているサービスです。初めてGitHubを使うときは、GitHub独自のルールや使い方を把握する必要があります。ただ、GitHubで使うコマンドや管理画面の操作は難しくないので、1度理解すれば簡単に使えるでしょう。 なおGitHubの基本的な知識については、以下記事で解説しています。GitHubの概要から学…
Gitのインストール方法
ここでは、WindowsにGitをインストールする方法をみていきましょう。Gitのインストーラーは、公式サイトから無料で入手できます。
1)公式サイトの「ダウンロード」をクリックして、インストーラーをダウンロードします。
2)ダウンロードしたインストーラーをダブルクリックして起動させます。あとは「Next」ボタンを押し続けてインストーラーをすすめ、最後の画面で「Install」ボタンをクリックして下さい。(設定値を変更する必要はありません。)
以下の画面が表示されたらインストールが完了です。
「Finish」ボタンをクリックし、インストーラーを完了させてください。
Gitの基本的な使い方
Gitをインストールしたら、次に初期設定を行います。ここでは初期設定とローカルリポジトリの作成方法、コミット方法をみていきましょう。
Gitの初期設定
Gitのインストーラーを完了させると、コマンドラインツール「Git Bash」のインストールも完了している筈です。メニューからGit Bashを起動し、初期設定を続けましょう。
Gitの変更履歴で、変更を行ったユーザーを識別できるようにするため、ユーザー名とメールアドレスの登録が必要です。
Git Bashで以下コマンドを実行して、ユーザー名を登録します。
git config --global user.name 任意のユーザー名
以下コマンドを実行して、メールアドレスを登録します。
git config --global user.email 任意のメールアドレス
以下コマンドを実行して、ユーザー名・メールアドレスが正しく登録されたか確認します。
git config --list
正常に登録が完了している場合、以下のように登録したユーザー名とメールアドレスが表示されます。
git config --list
(中略)
user.name=登録したユーザー名
user.email=登録したメールアドレス
ローカルリポジトリを作成する
Git Bashで、以下のコマンドを順番に実行します。なお「mkdir」のうしろには、リポジトリ名を記載して下さい。リポジトリ名は任意です。(ここでは、リポジトリ名を「github」「sample」としています。)
mkdir github
cd github
mkdir sample
cd sample
作成したリポジトリをローカルリポジトリにするため、以下コマンドを実行します。
Initialized empty Git repository in C:/Users/ディレクトリ名/github/sample/.git/
コミットする
前項で作成したディレクトリ(「/Users/ディレクトリ名/github/sample/」)に、任意のファイルを保存します。(本例では「index.html」というhtmlファイルを保存します。)
ファイルを保存した段階では、まだリポジトリへ登録されていません。以下、コマンドを実行して、まずインデックス※へファイルを追加します。
※変更内容を一時的に保存しておく場所
git add index.html
以下コマンドを実行し、インデックスに追加した「index.html」をコミットします。
git commit -m "[Add] index"
「-m」は変更履歴に「コミットメッセージ」を登録するためのオプションです。本例では「[Add] index」というコミットメッセージを登録して入れます。
コミット実行時に入力するメッセージです。あとで変更履歴を見直したときに、コミットの内容がわかるように任意のコミットメッセージを作成します。
次に以下コマンドを実行し、変更履歴を確認してみましょう。
git log
以下のように、変更履歴が表示されれば成功です。
commit ** (HEAD -> master)
Author: ユーザー名 <メールアドレス>
Date: Fri Sep 1 14:26:06 2023 +0900
[Add] index
これでコミットまで正常に完了しました。
GitHubをリモートリポジトリとして使用する場合の操作方法は、以下記事で紹介しています。興味があればあわせて参考にして下さい。
まとめ
Gitは開発現場などでよく使われている、分散型バージョン管理システムです。Gitによって変更履歴やバージョンを管理できるため、共同編集をする際はいたずらにファイルを増やす必要はありません。また他の作業者が誤ってファイルを上書きしてしまった場合も、任意のバージョンへ戻すことも可能です。
Gitを使う場合、ユーザーは自PC内に作成したローカルリポジトリに編集したファイルを保存します。そうしてGitHubなどネットワーク上のリモートリポジトリを使って他ユーザーとファイルを共有するのです。GitやGitHubを使うことで、ファイルのバージョンに頭を悩ませることなく、効率的に共同作業が行えるようになります。
KAGOYAのレンタルサーバ―はSSH機能を備えているため、Gitコマンドをご利用いただけます!
リーズナブルなプランからハイスペックなプランまで選択可能なため、事業用や練習用など用途に合わせて選ぶことができます。
【入門】GitHub からレンタルサーバーにコマンドひとつでアップする方法
Webサイトのコードや、WordPressの自作テーマ、カスタマイズしたテーマを GitHub で管理する場合、開発したソースコードを Webサーバーに公開する方法はいくつかあります。この記事では GitHub とレンタルサーバーを SSH 接続し、GitHub からレンタルサーバーへ Clone(Pull)することで公開する手順を解説します。 なお、GitHubについて詳しくは以下のページで解説…