GitHubとは?——プログラムの置き場所と「いつ・誰が・どこを直したか」の記録を、みんなで共有するサービスのこと
結論
GitHub(ギットハブ)とは、プログラムをインターネット上の決まった置き場所に保管し、「いつ・誰が・どこを直したか」の記録と一緒に、関係者で共有できるサービスのことです。前の状態に戻したり、直した内容をほかの人が確かめてから取り込んだりできるため、システムやAIの仕組みを作る現場で広く使われています。委託先から「GitHubで納品します」と言われたときは、置き場所の持ち主が誰か、外から見えない設定になっているかを確認することが大切です。
株式会社MEDISITE 執行役員・AI事業責任者の吉村聡一郎が、GitHub(ギットハブ)の意味と仕組み、AI開発で使われる場面、よく一緒に出てくる言葉、委託先から「GitHubで納品します」と言われたときに確認することについて解説します。システムやAIの仕組みづくりを外部に頼むと、「GitHubで納品します」「リポジトリに招待しますので、アカウントを作ってください」といった連絡が来ることがあります。名前は聞いたことがあるけれど、何をする場所なのか、自社は何をすればよいのか、よくわからない。そう感じている経営者や管理職の方も多いのではないでしょうか。この記事では、GitHubとは何かを、たとえ話を使って専門用語をできるだけ使わずに説明します。あわせて、GitHubの仕組み、どんな場面でこの言葉が出てくるか、よく一緒に出てくる言葉、委託先から「GitHubで納品します」と言われたときに確認しておきたいことをまとめます。
ひとことで言うと:GitHubは、プログラムの「共有の棚」と「直した記録のノート」がセットになったサービス
GitHub(ギットハブ)とは、プログラムをインターネット上に置いて、変更の記録と一緒に関係者で共有できるサービスのことです。プログラムを作る人たちの間では、作ったものの保管場所として広く使われています。名前の「Git(ギット)」は、変更の記録をとるための仕組みの名前で、「Hub(ハブ)」は「集まる場所」という意味です。
クラスで作る文集にたとえると
GitHubは、クラスみんなで作る文集にたとえるとわかりやすくなります。原稿は教室の共有の棚に置いてあり、係の人は誰でもそこから原稿を取り出して直せます。ただし、直したときは必ず「10月30日、山田さんが3ページの誤字を直した」と記録ノートに書く決まりです。
この決まりがあれば、あとから「この文章はいつ変わったの?」と思ったときに記録をたどれます。直したら逆に読みにくくなったときは、直す前の原稿に戻せます。大きな直しは、先生に見てもらってから原稿に反映する、という手順にもできます。
| 文集のたとえ | GitHubの世界 |
|---|---|
| 文集の原稿 | プログラム(仕事の手順書)や説明書のファイル |
| 教室の共有の棚 | リポジトリ(プログラム一式の置き場所) |
| 記録ノートへの書きこみ | コミット(変更を記録すること) |
| 先生に見てもらう | プルリクエスト(直した内容を確認してもらう依頼) |
| 直す前の原稿に戻す | 過去の状態に戻すこと |
| 棚の鍵とメンバー表 | 公開・非公開の設定と、誰が見たり直したりできるかの権限 |
ポイント
GitHubは、ただのファイル置き場ではありません。「何が・いつ・なぜ変わったか」が残ることが、いちばんの価値です。
もう少しくわしく:GitHubでプログラムを直して共有するまでの5ステップ
GitHubを使ったプログラムづくりは、おおむね次の5つのステップで進みます。
- 置き場所を作る:GitHub上に、そのシステム専用のリポジトリ(置き場所)を作ります。外から見えない「非公開」にもできます
- 手元で直す:作る人は、リポジトリの中身を自分のパソコンに写し、そこでプログラムを書いたり直したりします
- 変更を記録する:区切りのよいところで「何を直したか」のひとことを添えて、変更を記録します(コミット)
- GitHubに送る:記録した変更をGitHubの置き場所に送り、ほかの人からも見えるようにします
- 確認してから取り込む:大事な変更は、ほかの人に確認を頼み(プルリクエスト)、問題がなければ本番用のプログラムに取り込みます
この「変更を記録する」部分を受け持っているのが、Git(ギット)という仕組みです。Gitは自分のパソコンの中でも使える記録の道具で、GitHubは、そのGitの記録をインターネット上で共有するためのサービス、という関係です。
メールやファイル共有で渡す場合との違い
| 比べる点 | メールや共有フォルダで渡す | GitHubで共有する |
|---|---|---|
| 最新版がどれか | 「最終版2」などが増えてわかりにくい | 置き場所の中身がいつも最新 |
| 変更の記録 | 残らないか、人がメモする | 自動で残る |
| 前の状態に戻す | 古いファイルを探す必要がある | 記録をたどって戻せる |
| 複数人での作業 | 上書きして消してしまうことがある | 同時に直しても、まとめ方の仕組みがある |
どんなときに出てくる?——AIを使う場面とAIを作る場面
AIを使う場面
プログラムを書く手伝いをするAIが増えています。GitHubにも、AIがプログラムの続きを提案してくれる機能(GitHub Copilot〈コパイロット〉など)があります。また、AIに書かせたプログラムをGitHubに保存し、人が中身を確認してから使う、という使い方も一般的になってきました。AIが書いたものであっても、「いつ・何を変えたか」が残るので、あとから確かめやすくなります。
AIを作る場面
システム会社やAIの会社に仕組みづくりを頼むと、次のような言い回しを耳にします。
- 「納品はGitHubのリポジトリで行います」
- 「御社のGitHubアカウントをリポジトリに招待しますので、承認してください」
- 「修正はプルリクエストでお送りします」
- 「このAIのライブラリ(便利な部品集)はGitHubで公開されているものを使います」
最後の例のように、GitHubは世界中の人が作ったプログラムを公開する場所としても使われています。AIの分野でも、多くの道具がGitHubで公開されています。自社のプログラムを置く場所として出てくるのか、他人が公開したものを借りる場所として出てくるのかを、話の中で聞き分けるとわかりやすくなります。
よく一緒に出てくる言葉——Git・リポジトリ・コミット・プルリクエストなど
GitHubの話をしていると、次のような言葉もよく出てきます。ここでは名前と関係だけを押さえておきましょう。
| 用語 | ひとこと説明 | GitHubとの関係 |
|---|---|---|
| Git(ギット) | ファイルの変更の記録をとる仕組み | GitHubは、Gitの記録をインターネット上で共有するサービス |
| リポジトリ | プログラム一式と、その変更の記録をまとめた置き場所 | GitHubでは、システムごとにリポジトリを作る |
| コミット | 「何を直したか」を添えて変更を記録すること | GitHubの画面で、コミットの一覧として見られる |
| プルリクエスト | 直した内容を、取り込む前に確認してもらう依頼 | GitHub上で、確認・コメント・取り込みができる |
| 公開・非公開(パブリック・プライベート) | 誰でも見られるか、招待した人だけが見られるかの設定 | 社内の仕組みは非公開にするのが基本 |
仕事ではどう関係する?——「GitHubで納品します」と言われたときに確認すること
中小企業でGitHubが関わるのは、主に、システムやAIの仕組みを外部に作ってもらうときです。プログラムがGitHubに置かれていれば、作った会社が変わっても、記録をたどって中身を引き継ぎやすくなります。反対に、置き場所の持ち主が委託先だけになっていると、契約が終わったあとにプログラムを受け取れない、といったことが起こりえます。
経営者や管理職がGitHubを使いこなす必要はありません。ただ、次の注意点は知っておきましょう。
- 持ち主:リポジトリが委託先のアカウントにあるのか、自社のアカウントにあるのかで、あとから自由に扱えるかが変わります
- 公開設定:非公開にし忘れると、社内の仕組みが誰からでも見える状態になります
- 合言葉の書きこみ:パスワードやAPIキー(外部のサービスを使うための合言葉)がプログラムに書かれたまま置かれると、漏えいの原因になります
- 権限:退職者や、契約が終わった委託先が、いつまでも見たり直したりできる状態にしないようにします
「GitHubで納品します」と言われたときのチェックリスト
- リポジトリの持ち主は誰か、自社が管理者になれるか
- 非公開(プライベート)の設定になっているか
- パスワードやAPIキーが、プログラムの中に書かれていないか
- 動かし方・直し方の説明書(README〈リードミー〉と呼ばれることが多い)が入っているか
- 誰が見られて、誰が直せるか(権限)を一覧で確認できるか
- 契約が終わったあとも、自社でプログラムを持ち続けられるか(契約書の権利の書き方もあわせて確認)
- 自社でGitHubを使う場合、どのプランが必要か(料金やプランは変わるため、最新の情報は公式サイトで確認)
つまり大切なのは、GitHubという言葉そのものより、どの業務のどの手間をなくしたいかと、作ったものを誰が持ち、誰が面倒を見るかです。
当社の「AI社員」は、会社ごとの業務に合わせてAIの仕組みを作り、運用まで支える月額のサービスです。仕組みのプログラムは当社で管理し、手直しや止まったときの対応は保守として当社が行うため、お客様がGitHubを操作する必要はありません。料金は初期費用+月5万円で、保守・相談・メンテナンスは回数の制限なくご利用いただけます。初期費用は業務の内容をお聞きしたうえでお見積もりします。なお、AIの利用料は実費となります。「委託先からGitHubと言われたが、何を確認すればよいか」といったご相談も、お気軽にお寄せください。
よくある質問
GitHubとは簡単に言うと何ですか?
プログラムをインターネット上に置いて、「いつ・誰が・どこを直したか」の記録と一緒に関係者で共有できるサービスです。前の状態に戻したり、変更を確認してから取り込んだりできます。
GitHubとGitの違いは何ですか?
Gitはファイルの変更の記録をとる仕組みで、自分のパソコンの中でも使えます。GitHubは、そのGitの記録をインターネット上に置いて、ほかの人と共有するためのサービスです。
GitHubは難しいですか?プログラムを書かない人も使いますか?
プログラムを書く人向けの道具なので、使いこなすには慣れが必要です。ただ、納品物を見る・権限を確認する・説明書を読むといった使い方なら、プログラムを書かない人でもできます。
GitHubを使うのにお金はかかりますか?公開されてしまいませんか?
無料で始められるプランもありますが、使える機能や人数によって有料のプランが必要になる場合があります。料金や条件は変わるため、最新の情報は公式サイトで確認してください。リポジトリは非公開に設定でき、招待した人だけが見られるようにできます。