コードを書いてたら「あ、昨日の状態に戻したい…」ってなったことない?それか、友だちと一緒にプログラムを作ろうとしたら「どっちのファイルが最新版なの?」って混乱したこと。エンジニアってみんなそういう悩みを抱えてるんだよね。でも実は、その悩みをまるっと解決してくれるすごいツールがあって、それが「GitHub」なんだ。この記事を読めば、GitHubが何なのか、なんでエンジニアが全員使ってるのかが、スッキリわかるよ。
- GitHubはコードの保存・共有・管理ができるサービスで、Googleドライブのコード版みたいなもの
- バージョン管理のおかげで「いつ・誰が・何を変えたか」が全部わかって、過去に戻せる
- ブランチを使えばチームで同時に作業しても干渉しないから、プロの開発現場で必須ツール
もうちょっと詳しく
GitHubの根っこには「Git(ギット)」というシステムがある。Gitは、つまりファイルの変更履歴を管理する仕組みのことで、これ自体は自分のパソコンの中だけで動くツールだよ。GitHubはそのGitをインターネット上で使えるようにして、さらにチームコラボや画面操作をラクにしたサービス。「Git=電子手帳」「GitHub=その手帳をクラウドに上げてみんなで見られるアプリ」みたいなイメージかな。現実の開発では「GitHubを使う=Gitも使う」がセットになってることがほとんどだよ。GitHubには2018年にMicrosoftが約8000億円で買収したという話もあって、それだけ世界中で重要なインフラになってるってことがわかるよね。
GitとGitHubは別物!Gitが仕組みで、GitHubはそれを使うサービスだよ
⚠️ よくある勘違い
→ 確かに最初は難しそうに見えるけど、今はブラウザだけで操作できる機能がたくさんあって、コードを書かない人でもドキュメント管理やタスク管理に使えるよ
→ エンジニアだけでなく、デザイナーや研究者、ライターまで幅広く活用されていて、「変更履歴を残しながら共同作業したい」なら誰にでも役立つ
[toc]
GitHubとは?まず「何を解決するツール」かを知ろう
プログラムを作るとき、こんな悩みが必ず出てくるよ。「昨日まで動いてたのに今日おかしくなった」「友だちと一緒に作ってたら、お互いのファイルが食い違ってしまった」「どこを変えたのか忘れた」。これ、プロのエンジニアでも昔は同じ悩みを持ってたんだよね。
GitHubはその全部を解決するために作られたサービスだよ。正確に言うと、GitHubはコードを管理・共有・協力して開発するためのプラットフォーム、つまり「みんなが集まって一緒に開発できる場所」のことなんだ。
身近な例で考えてみよう
Googleドキュメントを思い浮かべてほしい。あれって、複数人で同じ文書を編集できて、「誰がいつ何を書いたか」も履歴で見られるよね。GitHubはそれのコード版、しかもさらに強力になったものだと思ってOK。
もう一つ例を出すと、ゲームのセーブデータに近い部分もある。RPGで「この街に入る前にセーブしておいて、ダメだったら戻ろう」みたいな感覚で、GitHubもコードの「この状態に戻したい」という時点をいつでも保存できるんだ。これがバージョン管理の考え方で、エンジニアにとって超重要な機能だよ。
GitHubを使う人たちは何をしてるの?
具体的にエンジニアがGitHubで何をしているかというと、こんな感じ:
- 自分が書いたコードをGitHubに保存する(バックアップ)
- チームメンバーがお互いのコードを見てレビューする
- 誰かが書いたコードの問題点を「Issue(イシュー)」として報告する
- 世界中の人が公開しているコードを参考にしたり使ったりする
- 自分の仕事の実績として、書いたコードをポートフォリオ代わりに公開する
就職活動でも「GitHubアカウント見せて」って言われることが多くなってて、エンジニアにとっては履歴書みたいな役割も持ち始めてるよ。
リポジトリって何?GitHubの基本単位を理解しよう
GitHubを使い始めると絶対に出てくる言葉が「リポジトリ」だよ。リポジトリとは、つまりプロジェクトのファイルをまとめた「箱」のことで、1つのアプリや1つのウェブサイトが1つのリポジトリに入ってることが多い。フォルダみたいなもの、と思っておけばOK。
パブリックとプライベートの違い
リポジトリには2種類ある:
- パブリックリポジトリ:誰でも見られる。オープンソース(無料で公開されてるソフト)はこれ。
- プライベートリポジトリ:招待した人だけ見られる。会社の仕事や個人の秘密のプロジェクトに使う。
無料アカウントでも両方作れるよ。たとえばあなたが自分のポートフォリオサイトを作ったとして、そのコードをパブリックにしておけば、採用担当者がそのコードを見て「この人はこういうコードを書くんだ」とわかる。プロのエンジニアはGitHubのプロフィールを意識的に整えていたりするんだよね。
スターって何?
GitHubにはリポジトリに「スター(⭐)」をつける機能がある。Instagramの「いいね」みたいなものだよ。スターが多いリポジトリは「たくさんの人に使われてる・役立ってる」という目安になる。有名なオープンソースプロジェクトだと何十万ものスターがついていることもあるんだ。
コミットとブランチ:チーム開発の仕組みを知ろう
GitHubの中でもとくに大事な概念が「コミット」と「ブランチ」だよ。ここをわかっておくと、なんでエンジニアたちがGitHubを信頼してるのかが見えてくる。
コミットはゲームのセーブ
コミットとは、つまりファイルの変更を「保存して記録する」操作のことだよ。ゲームで言うとセーブポイント。コミットするたびに「何を変えたのか」のメモ(コミットメッセージ)も一緒に書くから、あとから見たときに「あ、このとき〇〇の機能を追加したんだ」ってすぐわかる。
コミットの履歴は全部残るから、何かバグが起きたときに「このコミットから動かなくなった」と特定して、その前の状態に戻すことができる。これが「バージョン管理できる」ってこと。修正ミスをしても怖くないから、エンジニアが安心して開発できるんだよ。
ブランチで「実験空間」を作れる
ブランチとは、つまりメインのコードとは別に作る「作業用のコピー空間」のことだよ。たとえるなら、図工の授業で「本番の作品はそのままにして、別の紙でデザインを試してみる」みたいな感じ。
チームで開発するとき、Aさんは「ログイン機能」のブランチで作業して、Bさんは「検索機能」のブランチで作業する。それぞれ終わったら、メインのコード(mainブランチと呼ぶことが多い)に合流させる(これをマージという)。この仕組みのおかげで、複数人が同時に違う部分を開発しても、ごちゃごちゃにならないんだよ。
プルリクエストでコードを確認し合う
ブランチの作業が終わって「メインに合流させてほしい」と申請することをプルリクエスト(PR)という。チームのメンバーはそのプルリクエストを見て「このコードで大丈夫か」を確認し合うんだ。これをコードレビューと言う。プロの現場では、必ず誰かがレビューしてからマージするのが基本ルールになってることが多いよ。
GitHubがビジネスで使われる理由
GitHubは今やIT企業の開発現場では「ないと仕事にならない」くらい当たり前のツールになってる。なんでそこまで普及したのか、ビジネス目線から考えてみよう。
変更履歴は「証拠」になる
誰がいつどのコードを変えたかが全部記録されてるから、何かシステムに問題が起きたとき「誰がどの変更をしたときに壊れたのか」をすぐ追える。これって会社的にはすごく重要で、トラブルが起きたときの原因調査がスムーズになるんだよ。責任の所在もはっきりするし、再発防止もしやすい。
世界中のコードが公開されてる
GitHubにはオープンソースと呼ばれる、無料で自由に使えるコードが何億個も公開されてる。プロのエンジニアも「ゼロからすべて自分で書く」ことはほとんどなくて、GitHubで公開されてる便利なコード(ライブラリという)を組み合わせて開発することがほとんどなんだ。
たとえばあなたが使っているスマホのアプリも、その中身の多くはGitHubで公開されているオープンソースのコードが使われてることが多い。GitHubは「世界最大のコードの図書館」とも言えるんだよ。
採用・評価にも使われる時代
エンジニアを採用するとき、企業がGitHubのアカウントを見て「どんなコードを書いてきたか」を確認することが増えてる。毎日コードを書いてコミットすると、GitHubのプロフィール画面に緑のマスが積み上がっていって(これをコントリビューショングラフという)、活発に活動してるかどうかが一目でわかるんだよね。エンジニアを目指すなら、GitHubのアカウントを育てることが就活の武器になる時代になってる。
GitHubを始めるなら何から?初心者が最初にやること
「なんとなくわかってきた!使ってみたい」と思ったら、まず何をすればいいか教えるね。難しく考えなくて大丈夫。
Step 1:アカウントを作る
GitHub.comにアクセスして、メールアドレスでアカウントを作ろう。無料で作れて、基本的な機能は全部タダで使えるよ。ユーザー名はエンジニアとして公開されることが多いから、ちょっと考えてから決めるといいかも。
Step 2:はじめてのリポジトリを作る
ログインしたら「New repository(新しいリポジトリ)」を作ってみよう。名前をつけて、READMEファイル(そのプロジェクトの説明を書くファイル)を一緒に作る設定にしてポチっと作成。これだけで最初のリポジトリが完成するよ。
Step 3:Gitをパソコンに入れる
ブラウザだけでもGitHubは使えるけど、本格的に使うにはパソコンにGitをインストールして、コマンド(黒い画面での操作)を覚えることになる。最初は「git add」「git commit」「git push」の3つだけ覚えれば、基本的なことはできるよ。難しく聞こえるかもしれないけど、実際には呪文みたいに何度も打つうちに自然に覚えるから大丈夫。
GitHubを学ぶ最短コース
- GitHubが提供している無料の学習ツール「GitHub Skills」を使う
- YoutubeでGit入門の動画を見ながらやってみる
- プロジェクトを1つ決めて(日記アプリでも何でも)、それをGitHubで管理しながら作ってみる
一番大事なのは「実際に使ってみること」。最初は意味がわからなくても、手を動かすうちに「あ、こういうことか」ってわかってくるよ。GitHubはエンジニアへの扉を開く最初の一歩なんだ。これを知ってるだけで、プログラミングの世界がグッと身近に感じられるはずだよ。
