Webサイト制作コースのお申し込みはこちら Webサイト制作コースのお申し込みはこちら

Ruby on RailsでWebアプリケーションを開発する場合、Gitを利用してソースコードのバージョンを管理するのが一般的です。そのためGitによるバージョン管理はWebエンジニアにとって必須のスキルと言えるでしょう。GitHubの使い方と合わせてGitによるバージョン管理のスキルを身に付けてください。

今回はRubyのソースコードのバージョン管理の重要性とGitの基本的な使い方について紹介します。

ソースコードのバージョン管理の必要性


Ruby on RailsによるWebアプリケーション開発のようなソフトウェアの開発では、ソースコードを安全に管理する仕組みが必要であり、その仕組みとして使われるのがソースコードのバージョン管理です。

まずはソースコードのバージョン管理の基本について解説します。

ソースコードのバージョン管理とは

Rubyに限らずプログラム開発の仕事ではソースコードを安全に管理しなければなりません。例えば途中まで動作していたのに、ある処理を追加したら全く動かなくなった場合、動作している時点に戻って作り直さなければなりません。しかし、もうその時点に戻れないとしたら、最悪最初から作り直すことになり、納期が遅れたり余計に費用がかかったりします。

そのためソフト開発の仕事に携わるのなら、ソースコードのバージョン管理スキルを身に付けてください。なおバージョン管理とは、ソフトウェアを開発するときに作成されるソースコードの複数のバージョンを保存する仕組みです。

そして複数のプログラマーが参加するプロジェクトでは、全員が同じバージョン管理の仕組みを利用することで、同じ開発環境を利用できたり、ミスが解ったら簡単に以前の状態に戻せるといったメリットが得られます。

バージョンを管理する目的とは

ではソースコードのバージョンを管理する目的とは何でしょうか。プロジェクトによっても多少違いがあるとは思いますが、少なくとも次の4つが挙げられます。

ソースコード管理の基本は、正常に動作するソースコードを短期間で開発することです。途中まで正常だったソースコードを編集したら誤動作してしまうようなケースでは、修正前に戻せる仕組みとしてバージョン管理の仕組みを利用します。

管理システムの仕組み

バージョン管理システムが無かった時代は、変更前のソースファイルと変更後のソースファイルの差分を基にソースコードのバージョンを管理していました。しかし手作業で差分を作っていたのでは手間がかかります。そこで差分を管理する仕組みを自動化したのがバージョン管理システムです。

さらに個人毎に利用していたバージョン管理の仕組みを、サーバーとクライアントの仕組みを利用して複数のメンバーで利用できるようにしたバージョン管理システムが普及しました。例えばSubversionは今もソフトウェア開発で使われています。

さらにインターネット上のサーバーを利用するGitが普及してからは、Webエンジニアとして働くならGitを用いたバージョン管理は必須のスキルです。

ソースコード管理システムGitを利用する


Ruby on RailsでWebアプリケーションを開発する際、多くの職場で作成したソースコードの管理にGitを利用しています。Rubyのプログラムを扱うのなら、Gitによるソースコードのバージョン管理方法を習得しましょう。

次からGitを利用したRubyのソースコードを管理する仕組みについて紹介します。

Gitとは

Gitは、Rubyに限らずプログラムのソースコードの変更履歴を管理する分散型バージョン管理システムです。そしてGitは、Linuxカーネルのソースコード管理用に開発された仕組みで、複数のプログラマーが共同で1つのソフトウェアを開発するために必要な、高度なソースコードの管理機能を提供します。

Gitを使った作業の流れは次のとおりです。
(1) 開発環境にGitの変更履歴保存環境を用意する。
(2) Gitのサーバーに保存されたソースコードを開発環境にコピーする。
(3) 開発環境でソースコードを編集し、開発環境にその変更履歴を残す。
(4) 開発環境の変更をサーバーに反映する。ここで他の人の変更もサーバーに反映される。
(5) (2)から(4)を繰り返す

GitHubを使う

Gitを運用するためには、ソースコードの履歴を保存するためのサーバーが必要です。そしてそのようなGit用サーバーをクラウドに構築してインターネットでも公開できます。そしてそのようなインターネットに公開されているGit用のサーバーで特に有名なのがGitHubです。

GitGubは、オープンソースの開発で使われることの多いGit用のサーバーです。エンジニアの中には自分のスキルを見てもらうためのポートフォリオをGitHubで公開している方もいます。

また非公開のソースコード履歴管理にも使えることから、Ruby on Railsで開発しているソースコードのバージョン管理をGitHubで実施することも可能です。

GitHubを利用するには

GitHubを利用してRuby on Railsのソースコードを管理するには、まず、GitHubにアカウントとプロジェクトを登録しなければなりません。まずはGitHubの公式サイトにアクセスして登録してください。

Gitの公式サイト
GitHub

続いて開発環境にGitのクライアントツールを導入します。UbuntuやCentOSのようなLinuxではそれぞれのパッケージ管理システムからインストールしてください。

Ubuntuでgitコマンドをインストールする例

$ sudo apt install git

続いてRuby on Railsで開発するアプリケーションのディレクトリでGitの初期設定を実施します。ただし、Ruby on Railsで新規にアプリケーション環境を作成すると、同時にgitの環境も作られます。ディレクトリに「.git」ディレクトリがあるので、チェックしてみてください。

Ruby on RailsでGitを使う


先ほど紹介したようにRuby on Railsで新しいアプリケーションを作成するとGitの設定も同時に作成されます。ソースコードを新規作成したり、そういったソースコードを修正したら、早速gitコマンドでそのファイルのバージョン管理を実施してください。

次から具体的なコマンドの使い方を紹介します。

変更をローカルに保存する

先ほど紹介したようにGitはサーバーと開発環境の両方に履歴を保存する分散型バージョン管理システムです。基本的な使い方は、ソースコードを変更したら一旦開発環境に履歴を保存し、定期的にサーバーに転送してソースコードのバージョンを管理します。

ソースコードを変更して履歴を保存するには、まずgit addで管理対象に追加し、続いてgit commitを実行してください。なお、git addでは「.」を指定すると変更があったすべてのファイルを対象にできます。また、git commit実行には、-m オプションでコメントを追加してください。

$ git add .
$ git commit -m "最初の保存"

以前のバージョンに戻す

ソースコードのバージョン管理の目的の1つは、いつでも以前の状態に戻せる点です。

そして以前のバージョンに戻すコマンドがgit checkoutです。ただし、このコマンドを利用するにはコミットハッシュを指定しなければなりません。そしてコミットハッシュを調べるコマンドがgit logコマンドです。まずは、git logでチェックしてください。

git logの実行結果の例

$ git log
commit 19dc8fb408bdf99aa21b8d3f192432c46468922b (HEAD -> master)
Author: (登録したEメール)
Date:   *** *** ** **:**:** **** +0900

    (git commit -m で指定したコメント)

上記の例の「19dc8fb408bdf99aa21b8d3f192432c46468922b」がコミットハッシュです。このgit commitで保存したバージョン戻すコマンドは次のとおりです。

git checkout の使用例

$ git checkout 19dc8fb408bdf99aa21b8d3f192432c46468922b app/views/moji/index.html.erb
Updated 1 path from d634395

サーバーに保存する

Gitを利用して複数人でソースコードを共有するには、それぞれの担当者が開発環境に保存している履歴をサーバーに送信しなければなりません。自分の開発環境に保存したソースコードの履歴を定期的にサーバーに送信しておきましょう。

サーバーに送信するコマンドはgit pushです。そして、他の人が更新した変更を反映させるため、サーバーに保存されたソースコードを開発環境に複製するgit pullを実行してください。

git pushの使い方

git push サーバー上のブランチ名 開発環境のブランチ名

サーバーに保存する例

$ git push master master

サーバーのソースコードをコピーする例

$ git pull

まとめ


繰り返しになりますがソースコードのバージョン管理とは、ソースコードの複数のバージョンを保存する仕組みであり、正常に動作するソースコードを短期間で開発するために必要な管理方法です。Ruby on Railsで開発するソースコードも適切に管理されなければなりません。

そしてWebシステムの開発ではソースコード管理にGitがよく利用されます。GitとGitHubの使い方を学びましょう。なおRuby on Railsでは標準でGitに対応しています。ぜひ、Gitの使い方を学び、Ruby on Railsのソースコード管理に利用してください。

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。