【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について忘れてしまったらこの記事を確認してくださいね!

LINEで送る
Pocket

SEからWebエンジニアへ転職した理由

侍エンジニア塾卒業生の小池さんは、以前は社内SEとして約5年ほど勤務していました。しかし業務内容は社内のヘルプデスク対応など、プログラムを書く仕事は全くなかったそうです。

SEながらプログラムを書けない現状に「将来仕事がなくなるんじゃないか」と不安を感じ、プログラミング学習を決意。

弊社スクールで学習し、無事ベンチャー企業のプログラマーとして転職に成功しました。そんな小池さんの学習法や転職体験談を伺いましたので、是非ご覧ください。

「プログラミングができないSEは仕事がなくなる」不安を感じたSEが未経験から転職成功するまで
更新日 : 2019年10月7日

書いた人

長瀬来

長瀬来

Unityを使ったiOSアプリのリリース、フリマサイト運営の経験があります。

経験した言語はC、C#、Javascript、R、Python、Ruby、PHPなど

言語が好きで、英語や中国、ドイツ語を勉強しました。
将来的には海外で生活したいです。

現在はRuby on Rails5やCocos2dxの勉強を主にしています。

ライターとしては
できるだけ初心者にわかりやすい文章になるように心がけています。

趣味は語学、読書です。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説