田舎の大学生がUnityとか機械学習関連の制作物をひたすらアップします。Tumblr最近、プログラマー界隈またはそれ以外でも「GitHub」という単語を見かけることが多いのではないかと思います。Microsoftが買収しただとか、日経が「GitHub」のことを「設計図共有サイト」として記事に記載しただとか、直近だとプライベートリポジトリが無料化されたとか。japan.zdnet.comwww.itmedia.co.jpgigazine.netそんなこんなで色々話題になっている「GitHub」ですが、実際にどんなものなのかを知らない、または調べてみたけどよく理解できなかった人が多いかと思います(自分も最初はよくわからなくて放置してました...)。この記事では「GitHub」の使い方をタイトル通り、「0から」でも理解できるように説明していきます。最初の方は専門用語(リポジトリとか)をあまり使わずに頑張って説明します。今回の記事作成する際に参考にした本です。「GitHub」を知るためには「Git」を知らないといけません。え?同じじゃないの?と思うかもしれませんが違います。「Git」はバージョン管理システムのひとつです。バージョン管理システムの概要(実際はもっと複雑)このように、プログラムの変更点をバージョン管理システムが記録しており、バグが発生してどうしようもなくなった時などに、バグのないバージョンに戻すことができます。他にも、新しい機能を実装したいときに、他の人の作業の邪魔にならないように、今のバージョンから分岐することで、他人に迷惑かけることなく自由に開発を進めることもできます。この辺りのことは次回くらいに詳しく説明しますので、今はそういうものかといった理解でOKです。これで「Git」はなんとなく理解できたかと思います。「GitHub」とは何なのでしょうか。「GitHub」とは?「GitHub」は「Git」をWeb上でかつ、便利に使えるようにしよう!といったWebサービスです。「Git」をWeb上で使えることで、より一層プログラムを他人と共有できるようになり、複数人での開発や、プログラマ同士の交流が円滑に進めることができます。大体こんな感じ(実際はもっと複雑)また、「GitHub」は「Git」をただ単にWeb上で使えるようにしたわけではなく、+αの要素を加えています。要素が「GitHub」が人気の理由であり、「GitHub」を使うべき理由にもなっています。どのようなものなかを説明していきます。オープンソースにできるこれは人によっては短所として取れるかもしれませんが、「GitHub」上で管理してるプログラムはオープンな状態、つまり全世界に公開している、にすることができます。GitHubではユーザー同士が共有することができるこうすることで、自分の開発したシステムを多くの人に使ってもらったり、そのシステムを一緒に開発してもらったりすることもできます。プログラマー同士なら、自分のGitHubのプログラムを見せることで、「私はこんなことをしていますよー」と自己紹介することも可能です。最近は、自分(個人でも企業でも)の開発したシステムをオープンな状態にすることが流行っています(*個人の感想です)。いったシステムの有名どころを集めたのが以下のリストです(こいつらは使いこなす必要はありませんが、一般常識として名前と概要くらいは知っていて損はないはず)。RailsnodejQuaryちなみに、ソースコードを公開しているシステムのことを、OSS(オープン・ソース・ソフトウェア)と呼びます。ここからはプログラムのことをソースコードと呼ぶようにします。Request(プル・リクエスト)できるだけ専門用語を使わず説明します!!と最初に言っておいて申し訳ないのですが、「GitHub」最大の特徴なのでこれだけは説明させてください...。Request(プル・リクエスト)とは何なのかというと、他人のソースコードに対して、自分が変更を加えたものを取り込んでくれませんか?と要求(リクエスト)することを言います。「GitHub」では、ソースコードのどこを改良したのかという情報がわかりやすく確認できるようになっており、また、チャットの機能もあるので、改良点についての議論などを交わすこともできます。Requestの画面この機能のおかげで遠く離れた人と一緒に開発を進めることができます。OSSならば有志が考え開発した機能を盛り込むこともできるので、そのシステムはどんどんブラシュアップされていくわけです。入門への道のまとめこれが大体の「GitHub」の概要になります。「Git」を使ってバージョン管理を行うことができるオープンソースにできるので世界中に自分のソースコードを公開できる・他人のソースコードを閲覧できる他人のソースコードに変更を加えることができるの3つでしょう。この3つを理解しておけば「GitHub」に入門するための準備が整ったことになるでしょう。「GitHub」入門(登録)ここからは、いよいよ「GitHub」の登録を始めていきましょう。「Git」(ふたたび)先ほど説明した通り、「GitHub」は「Git」を便利に使うためのサービスです。「GitHub」に登録する前に、「Git」をパソコンにインストールする必要があります。それぞれのOSごとのインストールの仕方を説明しようかと思いましたが、面倒くさい長くなってしまうので、サイトの紹介をしておきます。「Git」がインストールできたので、やっとですが「GitHub」に登録してみましょう。以下のサイトにアクセスしてアカウントを作成していきましょう。github.comサイトを開くとこのような画面が表示されると思います。登録に使うメールアドレスアカウントのパスワードを入力しましょう。登録してからでも変更はできますので、好きに決めてください。GitHub」をクリックしましょう。プランの選択すると、アカウント登録のために、簡単なパズルを解かされます。問題ないと判断されたら、プランの選択画面に移行するかと思います。Plan選択ここでは有料か無料のプランの選択ができます。リポジトリというのは、「GitHub」で管理するプロジェクトのことだと取り敢えずは理解しておいてください。ことがない限りは無料プランで問題ないはずです。余談この記事の一番最初にも話題に上げましたが、つい最近までは、プライベートリポジトリ(全世界に公開しないリポジトリ)の使用は有料プランでしか許可されてませんでした。Microsoftが買収してくれたおかげか分かりませんが、公開したくないものを公開せずに済むのは良いことですね。GitHubあとはアンケートみたいなのを答える・「GitHub」からメールアドレスの登録しましょうっていうメールの登録ボタンを押せば、登録完了です。Keyと公開鍵の登録あともう少しです。「GitHub」はWeb上でリポジトリ(「GitHub」上でのプロジェクト)を管理するので、「アクセス認証」ということをしなければなりません。「GitHub」ではアクセス認証はSSHを用いた公開鍵認証で行います。SSHとか公開鍵って何ぞや?と思った方は以下のサイトを参考にしてください。knowledge.sakura.ad.jp基本的にその辺りのことはわかってなくても大丈夫ですので、ここから先の作業は機械になったつもりで進めていくと良いかもしれません。Keyの登録まずは、PCの上で以下を実行してください。"登録したメールアドレス""登録したメールアドレス"にはその名の通り、自分がアカウントに登録したメールアドレスを入力してください。特定されにくいパスワードを入力しましょう。確認用のためにもう一度入力してくれと言われているのでもう一度入力してください。公開鍵の登録これで最後です。「GitHub」のページの右上に自分のアカウントのロゴ(初期は勝手に登録されてる)があると思うので、それをクリックして、Settingをクリックしましょう。プロフィール画面そしたら以下のような画面が表示されます。key」をクリック次は以下のような画面が表示されます。公開鍵とそのタイトルを入力しろとのことです。タイトルは何でも良いのですが、公開鍵は先ほど作ってもらったものを使用します。上手く登録できれば登録したメールアドレスにメールが来ます。最後に、動作確認をしてみましょう。git@github.com接続を続けますか?と英語で聞かれるので、「yes」と入力してください。以下のように表示されればOKです。accessさいごに思ってたよりも長くなりましたが、これで「GitHub」で開発を進める準備ができました。次回は、実際にリポジトリ(GitHub上でのプロジェクト)を作成して、コードの公開までをしていきます。今回の記事作成する際に参考にした本です。(リモートリポジトリでの操作)前回はブランチの概要と基本的な操作を学びました。月別アーカイブ参加グループテクノロジーガジェットプログラミングはてなブログをはじめよう!kurora-shumpeiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。