テクノロジー

2017年11月04日
  • #tips

Gitの概要について

Aws4 request&x amz signedheaders=host&x amz signature=f3346a924ff419e175d4ea3d321571f64cd4a25977394c8ba7a06ffa1c8a501d

Gitの概要

今回はバージョン管理システムであるGitを学びます。

皆さんは、開発中のソースコードのバージョンを管理する場合、どのようなことをしていますか?
おそらく ファイル名に日付を入れる というのが一番簡単な方法です。
しかしこれを繰り返していると、1つのファイルがバージョンの違いだけで10個に増えていたりします。
これではキリがありません。

https://diveintocode.gyazo.com/c113a268e8d26ccb7aba29c648f1e143

さらに複数人でのチーム開発時に、全員が同じソースコードをいじってしまったら、混乱を招きます。

https://diveintocode.gyazo.com/f0b5375e6c4958766907b9136137cd67

これらの問題を解消するために Git というツールを使用します。

https://diveintocode.gyazo.com/0a86d50a8eae5872a4313ab09479c903

上記のようにGitを用いることで バージョン管理チーム開発 の仕組みが一気に整います。
ルールがやや複雑ですが、とても便利で、エンジニアになると必ず使うツールなので、このDIVEでマスターしましょう。
ちなみにGitを使っていないエンジニアはいないと断言できるくらい必須のスキルです。

ライブラリのインストール

まずは今回必要なライブラリをインストールしましょう。

  • [x] やってみましょう!

(Gemfile)

gem "dotenv-rails"
gem 'rails_12factor', group: :production

GitHubとGitの違い

皆さんは GitHub というサービスをご存知ですか?
ご存知の方でも、 GitとGitHub の違いを認識していない方がまれにいらっしゃいます。
ここでスッキリさせましょう。

Gitはバージョン管理をする システム 、 GitHubはGitというシステムを使った Webサービス です。

ではGitHubでは具体的にどのようなことができるのでしょうか?

  • ソースコードをインターネット上で管理する
  • オープンソースである
  • チーム開発で使用する

つまり自分でプロトタイプを作ったり、チーム開発したりとWebエンジニアには欠かせないWebサービスと言えるでしょう。

Heroku

皆さんは レンタルサーバ を使用したことはありますか?
「レンタルサーバを使いたいけど、費用がかかるから…」
そんな方は必見!実は全世界に公開するための 無料のコンピュータ があります。
それが Heroku です。

https://diveintocode.gyazo.com/8c503d4754d7e9051baf052e18a0d812

もちろん無料なのでデメリットがないとは言えません。

  • アップロードした画像が一定時間経つと消えてしまう
  • 速度が遅い
  • ドメインに「herokuapp.com」とついてしまう

しかし最低限の動きは保証されるので、プロトタイプを作成するくらいであればHerokuで十分です。

GitHubとHerokuのアカウント登録

  • [x] やってみましょう!

GitHubHeroku にアクセスして、それぞれユーザ登録をしてください。

Gitの導入

つづいてローカルにバージョンを管理するための 貯蔵庫(リポジトリ) を作成します。

  • [x] やってみましょう!

(コンソール)

git init

これによってローカルに仮リポジトリと本リポジトリが作成されます(下図ではCloud9に作成)。

https://diveintocode.gyazo.com/af8d0769ce0f39b7074d09e5fadb23b7

冒頭でもご紹介したように、今回のGitは、開発現場でなくてはならないツールです。それだけにインターネット上にも有益な情報がたくさんありますので、ご自身でも調べながら学習を進めていきましょう。

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