ついに自分もGithubを使わなくてはいけない時がきたので、名前は聞いたことあるけど結局Githubで何ができるんだ?というのをGithubのチュートリアルページ(Hello World)を英訳を中心にまとめていきます。
Githubとは?
Github(ギットハブ)とはコードをホスティングするためのプラットホームです。コードのバージョン管理や共同作業についてもGithub上で円滑に行えます。Githubを使えば、場所時間関係なくチームとストレスフリーに開発を行うことができます。
GitHub is a code hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere.
Resource: What is Github?
ステップ1:まずは、アカウント登録
credit: Github
Github自体は、基本英語で日本語対応はしていません。(Githubの日本法人はありそうですね。)アカウントはフリーで登録ができます。有料プランと無料プランがあるらしいのですが、プライベートレポジトリの保有数に応じて金額が変わってくるそう。個人利用と法人利用で少し値段が違うが、セキュリティの関係でソースコードをGithub上に置けないので社内ネットワークに置いておきたいなどの場合は、法人利用が適しているとのこと。個人利用で有料は$7(プライベートレポジトリ数:2)〜$50(プライベートレポジトリ数:50)など。プライベートレポジトリがなんだっているのは自分もわかっていないのですが、次に行きます。
ステップ2:レポジトリをつくろう
一つのプロジェクトを管理するためのレポジトリを使用します。レポジトリには、フォルダ、ファイル、画像、ビデオ、スプレッドシードなどのプロジェクトに必要なものまとめて格納が可能なようです。レポジトリ内にプロジェクトを設定可能で、フロントとバックを別プロジェクトで管理などもできるそう。
A repository is usually used to organize a single project. Repositories can contain folders and files, images, videos, spreadsheets, and data sets – anything your project needs.
レポジトリの容量の制限はあるの?
厳密には内容なのですが、1つのレポジトリは1GBに抑えるように推奨されているようです。また、一つのファイルは100MBまで、らしいので。画像の本データやビデオなどはGithubに置かないほうがベターかと思います。
Wikipedia: リポジトリ (英: repository) とは、情報工学において、仕様・デザイン・ソースコード・テスト情報・インシデント情報など、システムの開発プロジェクトに関連するデータの一元的な貯蔵庫を意味する。
それ以外にもレポジトリ内で発生する修正などの進行管理なども行えるようになっている。
レポジトリの作り方
- 自分のアイコンの横のNew repositoryをクリック
- レポジトリの名前、簡単な説明を設定
- プライベートレポジトリ、パブリックレポジトリをいづれかを選択
- Initialize this repository with a READMEを選択
- Create repository.をクリックして完了
プライベート?パブリック?
有料プランにするとプライベートレポジトリが使えると前述したが、プライベートとパブリックの何が違うのか、調べてみたが、わかった範囲で書いてみる。
文字通り、パブリックレポジトリとは、Github上で製作者以外でも閲覧可能なレポジトリ。修正履歴などその他もろもろ文字通り公開されてしまうようなので、裏側をまぁ別に公開したくないなぁという人にとってはレポジトリはプライベートにしておいたほうが無難かと思います。
ステップ3:ブランチを作ろう
ブランチとは、レポジトリのバージョン管理のための機能です。もともとのデータをMasterとし、コピー(Feature)を作ると、そこで作業を行います。どこを修正したなどの履歴も残り、そのブランチを確認し、マージを行えば、Masterが書き換えされます。
ブランチの作り方
- レポジトリに移動
- branch: masterのドロップダウンをクリックし、新規ブランチ名を入力
- ブルーになっているCreate branchをクリックしたらブランチが作成されます。
ステップ4:修正内容はCommitで管理
ブランチが作成できたら、実際にソースコードを修正してみます。修正内容はCommitで管理がされます。他のパートナーが修正内容を把握するためにもしっかりと記入しておきたいところです。
ステップ5:修正したらPull Request
多くのメンバーと開発できるGithubの強みでもあるPull Request機能。修正内容をPull Requestすると、他のメンバーに共有され、レビューができるようになります。
ステップ6:Mergeして、公開
Pull Requestを経て、問題ない状態になったら、Margeをして、コードを本番環境に反映をさせます。
まとめ: Githubはプログラミング情報の集積の場
細かい機能についてはこれから勉強を深めていきたいが、Githubはプログラミング情報を蓄積し、共有できるということがわかった。プログラミングは日々進化していて、知識の共有によって開発スピードの向上をして、業界全体の底上げが望めるということかもしれない。デザインをしている身からすると、修正履歴を見せる事のメリットてなんだろうと考えてしまったけれど、プログラミングって公開しているウェブサイトのソースコードってブラウザでも見れてしまうし、隠しようがないという側面もあるから、共有という事に関してハードルが低いのかもしれない。
Githubは人類がプログラミング進化をよりスピードアップさせるプラットホームなのかもしれない。