DIVE INTO CODE

2019年5月21日

RailsアプリをGitHubに送る3つのステップ

【こんな方におすすめ】
・RailsアプリをGitHubを通じてGitに登録する手順をさらっと知りたい方
・GitHubのありがたみを知りたい方
・Ruby on RailsとGitHubの関係を知りたい方

【目次】
1.RailsアプリをGitHubに送るまでにやっていること
2.GitHubがなかった頃、ソースの共有は大変だった
3.返報性の法則を意識すると自分の価値が上がっていく
4.Ruby on RailsとGitHubは持ちつ持たれつの関係
5.まとめ

■話し手
DIVE INTO CODE 代表 野呂 浩良
■聞き手
StartGate 永田 拓也

RailsアプリをGitHubに送るまでにやっていること

前回はRailsとGitHubは何が違うのというお話をしましたよね。

はい。

じゃあ今回は、RailsアプリをGitHubの保管場所に送る、3つのステップについてお話したいと思います。

よろしくお願いします。

3つのステップは簡単です。1つ目はRuby on Railsを使ってアプリケーションを作りましょう。まず動くものを作るってことです。それから2つ目、作ったアプリケーションの元のファイルをGitというツールに登録して覚えさせます。そして3つ目、Gitに登録された元のファイルをGitHubに送れ!といって送ります。これをやると、RailsアプリをGitHubに送ることができます。この3ステップです。

これって悩むものなんですか?わからないものなんですかね?

うん、最初はね、わからないです。こういう手順がWebに載ってるかっていうと、実はなかなかない。断片的には載ってるけど、この3つのステップをちゃんと全部つなげて説明しているものがないんですね。

まず今、ツールが3つ出て来てますね。Ruby on RailsGitGitHub

そうそう。で、先ほどの話も知らずにここからやると詰むわけですよ、意味わからなくて。

なんで?ってことになりますよね。

そうそう、Why?がないとわからないんです。

そうかー、この3ステップって、あまり書かれてないものなんですか。

そうなんですよ。でも実は、私がこのDIVE INTO CODEを創業する前からやってるセミナーは、この解説をずっとやってたんですね。それが人気で3,000人来た

どんだけ情報足りないんですか!

そうなんですよ、誰もこういうこと載せてない。だから私のセミナーに来てくれたんでしょうね。直接ですよ、全員。直接会いましたよ、3,000人の方と

へー、3,000人、すごい・・・

Railsでアプリを作るのを手っ取り早く言うと、いくつかRailsの呪文みたいなのを唱える感じです。まず$rails new .ってやります。$rails g scaffold なんとかってやります。その次に$rake db:create$rake db:migrate みたいなのをやります。その後に動かします。$rails sします。そのくらいなんですね。

それだけでアプリができちゃうんですか。

そうです、それだけでできちゃうんですよ。

へー、さすが手軽なRuby。

Ruby on Railsね。これが1つ目。2つ目のGitはまず、$git init って呪文唱えて、$git add .って呪文唱えて、次に$git commit -aって呪文唱えれば、はい登録できました、って。これだけです。

おお、Railsで作ったものがGitの中に入ったってことですね。

そうですそうです。なんでそんなことするかっていうと、先ほどお話したようなファイルの共有というのをやるわけです。まず自分の端末で「こういうファイルがあるよ」っていうのを登録して、それから誰かと共有するコンピュータ上で、それらのファイルのつながりを管理するための情報を登録して、その情報を共有されている場所に送るんですよ。そのためにGitって存在しているんですね。

なるほど。ということは、1人で作るときはGitはいらないってことですかね。

ええ、1人で作るときはGitはいりません。誰かと一緒に開発したい、共有したいという時に使えます。

贈り物送るときに段ボールに詰めるみたいな感じですね。

そうですそうです、そんな感じです。

で、Gitに登録したものをGitHubに送るのは、GitHubとつなげるための設定はあるんですけど、それを省くと、おいGit、GitHubに送れ!って言って終わりです。

え?そうなんですか?

ええ、GitHubに送れって1行書いて、ハイ終わり、です。(注:$git pushのこと)

さっきの例えだと、クロネコさんに来てもらってこの段ボールお願いします、みたいな。

よろしくお願いします、はいわかりました、って終わり。

なるほど。いいですね。

楽なんです。

こんなに簡単なんですか。

GitHubがなかった頃、ソースの共有は大変だった

そうです。これをやれば、GitHubに自分の作ったRuby on Railsのアプリケーションを共有して、誰かに見てもらったりとか、誰か一緒に開発しない?なんていうことの用意が、あっという間に整っちゃうんですね。

なるほどなるほど。今まではそれ、できなかったものなんですか?

GitHubがない頃の話ですね。今までと言っても10年とか20年前とかの話になりますけど、2004年ぐらいだったら、Ruby on Railsがかろうじてあったかな。それで作ったものをGitに登録する時にはこんな手順を踏むわけです。

1.自分でコンピュータ1台買って、
2.そのコンピュータをネットワークにつなげて、
3.更にそのコンピュータがインターネット上からアクセスできるように設定を変えて、
4.その上でそこにファイルを送る。


これをインターネット経由でわざわざ指定してやらないといけない。

なるほどー、うわー。

URLも自分で独自のものを指定しないといけないわけですね。

まじですか…。

しかも、「このファイルって外の人からアクセスされていいんだっけな?」みたいなことを心配しながらやる必要があるんですよ。

あー、なるほど。じゃあ段ボールの中身をみんなで見るために、出入り自由な場所にボンって置いて、みんなで共有するみたいな。

そうそう、もうヤマトさんじゃなくて。

違う人が見てる可能性だってあるんですよね。

おっかないですよね。覗かれたり、うっかりすると中身が変わってるかもしれないですよね。

怖いですね。

怖いですねー。という時代だったんです。だからソースの共有って全然手軽じゃなかったんですよ。

へー…。じゃあ大事ですね、GitHubさん。

そうですそうです。だからGitHubが出てきて初めて、皆で共有しようよとか、一緒に開発していこうよ、っていう文化が生まれたんですよ。

なるほど。コミュニケーションが生まれたわけですね。

返報性の法則を意識すると自分の価値が上がっていく

そうです、一緒に開発していくコミュニティなわけです。お互いに書いたものが見られるし、お互い見合っていこうよ、公開されてるものから勉強しようよ、っていうことができるようになっていくわけです。

そういえば、エンジニアさんて意外にクローズじゃないですよね。

そうですね。

できるだけ自分の作ったものを世の中に出していくとか、伝えていくとかを考えてますよね。

これはね、返報性の法則といって、自分が誰かの役に立つと必ず返ってくるっていうのがあるんですよ。これは、誰かが自分の書いたソースとか記事を見てくれていて、役に立ったよ、っていうフィードバックをもらえると、自分も誰かの役に立つものを出したくなるってことです。役に立った、じゃあ俺も役に立ちたいって。

おお!

それって人間の心理で、それで役に立つ情報がどんどん広まって行ったりするんですよね。で、エンジニアの場合は自分が知識を知れば知るほど、自分の価値も上がるんですよ。経験値が上がる。そうすると、年収が上がったりとか、仕事のチャンスつかんだりとか。

なるほど。まずはGiveの精神でやっていくと、周りにもっとすごい人たちが揃っていってどんどん自分のレベルも上げていけるよ、ってことなんですね。

そうなんです、そうやって作ったものをGitHubに送って共有していく、というのも大事ですね。

じゃあまずGitHubを使うことを目的にするのではなく、返報性の法則みたいなところを意識するような気持ちでいたほうがいいってことですね。

そうですね、そういう心根(こころね)は持っておいてほしいですね。今回直接は関係ないんですけど、みんなの役に立てば、という気持ちでGitHubにソースコードを送ったり、GitHubにソースコード公開されているものに対して、感謝の気持ちを持って使うというのは、とても大事なことなんですね。

すごい。

Ruby on RailsとGitHubは持ちつ持たれつの関係

で、話を元に戻しますが、ここですごく混乱することを言います。

またですか(笑)

Ruby on Railsは「GitHub上で管理され、更新され、皆に共有される形でソースが公開されている」んですよ。

え?

さっき言いましたよね、GitHubはRuby on Railsで作られてるって。

言いましたね、そこだけで混乱してます(笑)

(笑)
今度言っているのは、GitHub上でRuby on Railsが作られてるってことです。

あ、はあ…。じゃあえっと、持ちつ持たれつっていうことで、よろしいでしょうか(笑)

そうです。そのとおりです。Ruby on RailsのソースコードはGitHub上で管理されていて、世界中の人が見ることができるんですよ。それが更新されていて、そのソースコードを入手して自由に使えるのです。

ええと、日々Railsで作られたGitHubによって。。。

Ruby on Railsが進化していると。

おおー。

だからGitHubからRuby on Railsをダウンロードして使うことができる。そして、そのGitHubはRuby on Railsで作られていると。

おおー…。

どうですか、この堂々巡り感!

(笑)すごいですねー。

もう、密接に絡まってます(笑)!

ま、でもRailsやるならGitHubお勧めだよってことですね?

ええ、その一言につきますね。

なるほどー。

というわけで、railsアプリをGitHubに送る3つのステップは、
1.Railsでアプリケーション作りましょう
2.Gitに登録させましょう
3.GitHubに送りましょう

ってことでした!

なるほどー。ありがとうございます!

まとめ

  • RailsアプリをGitHubに送るまでには大きく3つのステップがある
  • GitHubがなかった2004年頃までは、ソースの共有をするためのハードルが高かった
  • GitHubが登場してソースの共有が手軽に行えるようになり、返報性の法則に従ってコミュニティが広がっていった
  • GitHubはRuby on Railsで作られているが、実はそのソースはGitHub上で管理されている

いかがだったでしょうか。RailsアプリをGitHubに送るまでの手順自体は簡単ですが、全体像をまずつかむことが大事かと思います。

また、今、いろんなコミュニティでソースや技術情報の共有がされているのは、GitHubが登場したおかげなんですね。
それらはぜひ感謝の気持ちを持って使い、皆さんも誰かの役に立ちそうなことがあったら、積極的に共有しましょう。

DIVE INTO CODEのことをもっと知ってみませんか?