支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • GitHubとは何? Gitとの違い

GitHubを使ってみよう!

はじめに

GitHubは、エンジニアにとってはもはや必要不可欠な存在です。開発現場でソースコードの共有に使われるのはもちろん、これからエンジニアになるという人にとっても幅広い用途で活用することができるためソースコードを共有したり、ダウンロードしたりと用途が幅広く、非常によく用いられています。

しかしながら、まだGitHubに手をつけたことがない人や、エンジニアとしてのキャリアを歩み出したばかりという駆け出しの人にとってはなんだかとっつきにくいものに感じることもあると思います。

そもそも何のためのサービスなのか、GitとGitHubは何が違うのか、使うとどんな利点があるのかなど...サービスが全て英語であることも相まって、イマイチピンとこないという人もいるでしょう。

GitHubを使いこなせるようになれば、エンジニアとしてのキャリア形成に大きく貢献してくれます。これを期にGitHubとはどんなものなのか、どんな役割があるのかを学習していきましょう。

GitHub ってそもそも何?

GitHubは、Gitを利用した、主にエンジニア向けのソースコードバージョン管理を行うWEBサービスです。

Gitのホスティングサービスのうちの一つであり、ユーザー数は1000万人を超えているという世界中のエンジニアたちに利用されているサービスです。ソースコードのバージョン管理だけでなく、そのソースコードの公開や簡単なデプロイといった機能から簡単なSNSのような機能まで存在しているユーティリティサービスです。プロジェクトにおいてもGitHubを使ってバージョン管理や開発を行うところも広く存在しています。

GitとGitHubは何が違うのか?

エンジニアになったばかりの人にとっては「Git」と「GitHub」の違いがわからなくてもおかしくはありませんが、理解できていないエンジニアのままですとかなり致命的です。

一言でいえば「システムとサービスの違い」です。

「メール」というシステムにおける「Gmail」というサービス、「動画」というシステムにおける「YouTube」というサービス、といったような関係性と同じように「Git」というツールに対する「GitHub」というサービスと考えればピンとくるのではないでしょうか。

Git

Gitは、ファイルの変更履歴をバージョンによって記録しておくことができるシステムのことです。

例えば、Gitを使わない場合、ファイルに何か修正を加えたときに手動でバックアップを取っておかなければ、ある時点までファイルを戻したいといった場合に戻すことができなくなってしまいます。バックアップを取っていたとしても、バックアップファイルだけを見てどういう状態なのかを判別することは難しいこともあります。さらに注意を払ってバックアップを取っていなければ、戻す必要のないファイルに関しても他のバックアップと一緒に戻さなければならず、作業のやり直しが発生してしまうといった事態にも陥る可能性があります。バックアップ用のファイルも別に用意しなければならず、非常に手間がかかります。

Gitを使えば、こういったファイルの管理を手軽に行うことが可能です。コメントを付けてバージョン管理を行えるためそれぞれの変更の詳細が分かりやすく、またファイルの変更箇所もすぐに確認することが可能なため、作業工数の削減に絶大な貢献をしてくれます。

これは個人開発を行う場合だけではなく、複数人での開発にも役に立ちます。 複数人で開発を行う場合には、ソースコードの管理が適切に行われていなければ混乱が生じてしまいます。 例えばファイル名だけでバックアップを取ろうとした場合、同じファイルを修正しようとすれば修正箇所がぶつかり合ってしまうこともありえます。 「せっかく自分が修正したのに、同じファイルを別の人が同じタイミングで修正して上書きしてしまったので自分の分は消えてしまった」というような事態も起こりえます。 また修正箇所が重なることを防げたとしても、各ファイルにおいて具体的にどの箇所が修正されたかは、修正した本人にしかわかりません。 すなわち、どこを修正したのかを都度報告してまとめてもらうか、いちいち確認する手間が発生してしまいます。

しかし、Gitを使えば複数人による同じファイルの修正をまとめて管理することが可能であり、さらに修正箇所もどこなのかがすぐに確認できます。 ファイルの変更内容もコメントを残すことですぐに伝えることが可能です。

このように、Gitはバージョン管理システムであるとともに、プロジェクトの円滑な進行に欠かせないツールでもあるのです。

GitHub

こちらはGitを使ったホスティングサービスです。同じようなサービスに"Bitbucket"などがあります。

Gitは管理用のツールでしたが、こちらはGitを複数人でコミュニケーションを取りながらファイルを編集したり、バックアップを行ったりすることが可能です。

GitHubを活用することで、プロジェクトチーム内でソースコードを互いに確認したり、時にはレビューしたり、機能や処理、実装について議論を重ねたり、意見を出し合ったりすることが可能です。Git単体では1つのファイルの中にしか置くことができませんから、GitHubのような大人数とやり取りする場所があるのは開発を円滑に進める上でも大いに役に立つのです。 いわばGitをベースにしたSNSというような役割を持たせることも可能なのです。

さらに、GitHubでは自身の個人開発やプロジェクト内だけで完結させるのみならず、1000万人を超える世界中のGitHubユーザーが書き上げたコードを見ることもできます。GitHubアカウント1つあるだけで世界中と繋がることが可能であり、参考にすることも可能です。 公開されているコードを自分自身で改良することも可能ですし、コードを書いた人にコンタクトを取ることも可能です。 これらは無料で行えるため、学習コストもかかりません。

GitHubは単なるGitファイルを置いておくための場所ではなく、プロジェクト内や世界中の人とコミュニケーションを取ることのできる開かれたSNSでもあるのです。

GitHubを始めるには

GitHubは全て英語のページになります。しかし操作自体は慣れてしまえば難しいものではありません。 英語自体がニガテだとしても、操作を行うことは可能ですので、勇気を出して使ってみましょう。

GitHubアカウントを作成する

GitHubのトップページにアクセスして、サインアップを行いましょう。 ユーザーネーム、メールアドレス、希望のパスワードを入力して、「sign up for GitHub」をクリックします。

この時、パスワードは、Make sure it's at least 15 characters OR at least 8 characters including a number and a lowercase letter. つまり「15文字以上」または「大小英数字の混成8文字以上」である必要があります。

入力したメールアドレス宛に確認用のメールが届くので、認証すればOKです。

リポジトリを作成する

GitHubを使うにしても、リポジトリが無ければ何も始まりません。まずはリポジトリを作成してみましょう。

画面右上の"+"をクリックすると、"New repository"という項目があるのでクリックします。

リポジトリの作成画面に進むので、Repository nameを入力します。リポジトリ名はわかりやすいものにするとよいでしょう。Descriptionはそのリポジトリの説明です。記述しなくても構いません。

Descriptionを入力したら、"public" または "private"を選択します。

Publicを選択すると、世界中のGitHubユーザーにリポジトリが公開されます。

Privateでは、限られた人のみがリポジトリを見ることができます。 こちらのPrivateは以前は有料プランでのみ提供されていましたが、2019年の1月に無料となりましたので、できれば見られたくない人も料金を気にすることなくPrivateを選択することが可能です。

"Initialize this repository with a README"はリポジトリ内にREAD MEファイルを作成することが可能です。

Add.gitignoreは、Gitで管理したくないファイルを設定できます。Gitで管理したくないファイルというのは、例えば「個人的なメモ」「".DS_Store"や"Thumbs.bs"などの、システム上勝手に作られてしまうファイル」といった、わざわざバージョン管理するまでもないファイルです。

Add a licenseは、著作権上のライセンスを設定することができます。わかるようになるまではNoneで構いません。

これら項目を入力すれば、リポジトリを作成可能です。

もしくは、既に存在するリポジトリをクローンしてくることも可能です。

みなさんもぜひGitHubを使ってみましょう。