【Rails入門】 Githubを導入する方法

こんにちは! フリーエンジニアの長瀬です。

みなさんはGithubを使っていますか?

ほとんどの企業はGithubを使ってアプリケーションを管理しているので、Rails勉強する上でGithubの使い方は必須の知識です。

この記事では、Githubについて

・Githubとは
・GithubでRailsアプリケーションを管理
・git init
・git add
・git commit
・git push

という順番で、実際にRailsアプリケーションを立ちあげてからGithubにアップロードするところまでを詳細に解説します。

目次

Githubとは

GithubとはGitというプログラミングなどを用いた現場でよく使われている「バージョン管理システム」の機能を拡張したものです。

Githubについてこちら記事で詳しく説明されていますので、まだGithubのアカウントを作成していない人は、Githubのアカウントを作成しておいてください。

本記事では、Githubアカウントが作成されているという前提のもとでRailsアプリケーションにGithubを導入する方法について説明します。

GithubでRailsアプリケーションを管理

まずは、Githubの公式ページからログインして、「New repository」のボタンを押して、新しいレポジトリを作成してください。
git_image1

そして、次の画面でリモートリポジトリを作成します。

git_image2

「Repository name」に任意の名前を入力します。(今回はRailsAppにしてあります。)

そして、「Public」と「Private」の選択ですが、有料会員でないと「Public」(公開される)リポジトリしか作成されないので、こちらを選択します。

「Initializa this repository with a README」 はREADMEファイルを作成するかどうかです。
READMEファイルは、この作成したレポジトリの基本的な説明を書くファイルです。

Raiisでは自動的に作成されるので、チェックを外します。

「Add .gitignore: None」 は.gitignore(Githubで管理しないファイルを指定するためのファイル) を作成するかの項目で、「Add a license: None」 は名前の通りライセンスを明記するファイルを作成するため項目です。

必要事項が入力できたら、「Create repository」でレボジトリの作成を確定します。

git_image3

リモートレポジトリの作成に成功すれば、このような画面に切り替わります。

リモートリポジトリにローカルリポジトリからファイルをアップする方法が説明されています。
この部分はこの記事の後半で説明するので、頭の片隅に置いておいてください。

git init

git initのコマンドでは今回作成したリモートレポジトリにアップロードするためのルートディレクトリを決定します。

では、まず今回Githubで管理するRailsプロジェクトを作成していきましょう。

Railsの新規のプロジェクトを作成したいディレクトリ下で以下のコマンドをコマンドプロンプトに入力してください。

rails new TestApp

これで、新規のRailsプロジェクトが作成できました。

ではここからGithubの設定です。

cd TestApp

を入力して、作成したRailsプロジェクトのルートディレクトリに移動した後

git init

と入力して、gitの初期設定をします。

すると

[実行結果]

Reinitialized existing Git repository in (ディリクトリ名)

というログがでます。

これはすでにGitの設定がされているのに、もう一度初期設定をしましたという意味です。

そうです実はRailsではnewコマンドで作成するとgitの設定は自動で行われます。
なのでわざわざ、git initを入力する必要はないです。

ただ、これはあくまでもRailsの場合ですので、その他の場合はgit initを入力してgitで管理するルートディレクトリを初期化する必要があります。

git add

先ほどまでで、初期設定は終わりました。

では、まずはgit addコマンドで作成されたファイルをステージにあげましょう。

その前にまず、git statusコマンドを入力してステージに上げるべきファイルを確認します。

[実行結果]

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        .gitignore
        Gemfile
        Gemfile.lock
        README.md
        Rakefile
        app/
        bin/
        config.ru
        config/
        db/
        lib/
        log/
        package.json
        public/
        test/
        tmp/
        vendor/

nothing added to commit but untracked files present (use "git add" to track)

ファイルが新しく追加されたファイルが確認できたので、ステージに乗せていきましょう。

コマンドプロンプトに以下のコマンドを入力してください。

git add .

「.」はすべては変更があったすべてのファイルを指定するという意味です。

ステージに乗せることができたので、もう一度git stausコマンドで、ステージにあるファイルを確認しましょう。

[実行結果]

new file:   .gitignore
        new file:   Gemfile
        new file:   Gemfile.lock
        new file:   README.md
        new file:   Rakefile
        new file:   app/assets/config/manifest.js
  (中略)
        new file:   test/fixtures/files/.keep
        new file:   test/helpers/.keep
        new file:   test/integration/.keep
        new file:   test/mailers/.keep
        new file:   test/models/.keep
        new file:   test/system/.keep
        new file:   test/test_helper.rb
        new file:   tmp/.keep
        new file:   vendor/.keep

上記の新規ファイルをステージに上げることができました。

git commit

では、ステージにRailsの新規ファイルが上がったのでcommitしていきましょう。

コマンドプロンプト以下のコマンドを入力してください。

git commit -m "first commit"

[実行結果]

[master (root-commit) b9f5102] first commit
 76 files changed, 1199 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 Gemfile
 create mode 100644 Gemfile.lock
(中略)
 create mode 100644 test/system/.keep
 create mode 100644 test/test_helper.rb
 create mode 100644 tmp/.keep
 create mode 100644 vendor/.keep

firts commitというコミットメッセージを加えて、commitすることができました。

git push

commitした内容をリモートリポジトリにアップロードしていきましょう。

git_image3

こちらの内容に従っていきます。

今回はhttps通信を使います。(SSHの設定をされている方はSSHでも大丈夫です)

実はgit commit -m “first commit”まではすでに完了しているので

git remote add origin http://Github.com/(GithubID)/RailsApp.git

をコマンドプロンプトに入力して、リモートレポジトリの登録を行ってください。

また、(GithubID)の部分には各自のGithubIDを入力してください。

remoteリポジトリの登録が完了したら、最後に

git push -u origin master

とをコマンドプロンプトに入力して、リモートレポジトリにローカルレポジトリのファイルをアップロードしてください。

Counting objects: 84, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (70/70), done.
Writing objects: 100% (84/84), 20.68 KiB | 0 bytes/s, done.
Total 84 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), done.
To https://Github.com/(GithubID)/RailsApp.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

うまくいけば、このようなログが出力されます。

では、うまくアップロードされたかGithubにアクセスして確認しましょう。
git_image4

アップロードされていればこのように作成されアプリケーションのファイルを確認できます。

RailsにGithubを導入できました!お疲れ様でした。

まとめ

いかがでしたでしょうか?

この記事では、Githubの導入方法を解説しました。

ほとんどの企業ではRailsアプリケーションをGithubのような分散型管理システムを使って管理しています。

Githubでの管理はRailsエンジニアには必須の知識なので、これを機にGithubのことをもっと勉強してみてください。

もしGithubについて忘れてしまったらこの記事を確認してくださいね!

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次