GitHubとは:できることと、公開・非公開の考え方

公開 更新 書いた人 大林 諒

制作会社から「GitHubに招待します」と言われて、サンプル料理教室の代表は少し身構えました。GitHubに上げると世界中に公開されるのではないか、と思ったからです。実際には、公開か非公開かはリポジトリごとに選べて、website も reservation-mail も非公開のまま使えます。読み終わると、GitHubが何のサービスで、画面のタブのどれを見ればよくて、公開と非公開で何が変わるのかが分かります。

この記事の内容
  1. 先に答えると
  2. GitとGitHubは何が違うのか
  3. 何のために使うのか
  4. 画面のタブは9つ、最初に使うのは3つ
  5. 公開と非公開の違いがいちばん大事
  6. GitHubはバックアップになるのか
  7. よくある勘違い
  8. できないことと、その代わり
  9. よく詰まるところ
  10. 次に読む

先に答えると

GitHubは、Gitの履歴を預かるネットのサービスに、人と一緒に作業する機能を足したものです。Git本体はパソコンの中で動く履歴の道具で、GitHubはその置き場所です。2018年からMicrosoftの傘下にあります。

  • 上げただけでは公開されない。公開(Public)か非公開(Private)かをリポジトリごとに選ぶ
  • 非公開はFreeでも数の制限なく作れる。使える機能が限られるだけ(2026年11月時点)
  • 公開を非公開に戻しても、他人が作った複製は戻らない
  • 預かるのは送ったものだけ。送る前の変更はパソコンの中にしかない
  • 最初に使うタブはCode、Pull requests、Settingsの3つで足りる

GitとGitHubは何が違うのか

Gitは、フォルダの中身の変更履歴を残す道具です。自分のパソコンで動き、GitHubがなくても使えます。GitHubは、そのGitの履歴をネット上に置いておける場所です。GitHub Docsの説明も同じで、Gitが変更を記録するバージョン管理の道具、GitHubはリポジトリをクラウドに置いて計画と共同作業の機能を足す場だとしています。

リポジトリは履歴つきのフォルダのことです。コミットは、その履歴に残す1回分の保存です。

運営については、Microsoftの公式発表が2018年10月26日にGitHubの買収完了を伝えています。

何のために使うのか

小さな会社がGitHubを使う理由は、だいたい次の4つです。

使い道料理教室では要るもの
パソコンの外に控えを置く代表のMacが壊れても website を取り戻せる非公開リポジトリ
人と一緒に直す代表と外注エンジニアBが同じ website を触る共同作業者の招待
変更を確認してから反映する「料金表を修正」をBに見てもらってから合流するプルリクエスト(Pull Request、PR)
公開されているツールを探す予約メールに使えそうな部品を探すブラウザだけ。契約は要らない

プルリクエストは、変更を本体へ合流させる前に確認を頼む機能です。この記事ではそれだけ分かっていれば足ります。

自動処理(GitHub Actions)やサイト公開(GitHub Pages)もありますが、最初から使わなくて構いません。控えを置くだけなら、Gitの送信先として使うだけです。

画面のタブは9つ、最初に使うのは3つ

リポジトリを開くと、上に横一列のタブが並びます。全部を使う必要はありません。

タブ正体料理教室の場合
Codeファイルと履歴を見る場所最初から使う
Issuesやることや不具合のメモ帳外注エンジニアBとのやり取りが増えたら
Pull requests変更の確認と合流最初から使う
Actions決めたきっかけで処理を自動で動かす使わなくていい。必要になってから
ProjectsIssueを表やボードで管理する使わなくていい
Wikiリポジトリに付く説明書き使わなくていい。Freeの非公開リポジトリでは対象外
Security脆弱性や秘密情報の警告たまに見る。警告が来たら開く
Insights活動の集計グラフ使わなくていい。Freeの非公開リポジトリでは対象外
Settings公開設定、招待、削除など最初に1回、設定を確かめる

Settingsは権限のある人にしか出ません。招待された外注先や受付Aの画面に出ていないのは、壊れているわけではありません。

リポジトリの上部に並ぶタブ
リポジトリの上部に並ぶタブ

公開と非公開の違いがいちばん大事

ここだけは読み飛ばさないでください。

比べるところ公開(Public)非公開(Private)
誰が見られるかインターネットの全員自分と招待した人。Organization(会社単位のアカウント)なら権限のあるメンバーも
検索や複製誰でも複製できる招待された人だけ
Freeでの数制限なし制限なし
Freeで使える機能全機能限られる
向いているもの誰に見られてもいいもの会社のコード、顧客に関わるもの

GitHub Docsの言い方では、公開リポジトリは「インターネット上の全員がアクセスできる」、非公開リポジトリは「自分と、明示的に共有した人だけがアクセスできる」ものです。Organizationの持ち物なら、オーナー(全体の管理者)はすべてのリポジトリに入れます。

「GitHubに上げると公開される」というのは誤解です。リポジトリを作るときに公開か非公開かを選び、あとから変えることもできます。問題が起きるのは、そこを確かめずに作ったときです。

実際に運用していると、会社のものは全部 Private で作ると決めてしまうのが楽です。公開するのは、公開したい理由を言えるものだけにします。sample-cooking の website はホームページで、できあがった画面は誰でも見られますが、リポジトリは非公開です。サイトが公開されていることと、ソースが公開されていることは別の話です。

リポジトリの作成画面で、公開範囲を非公開にする
リポジトリの作成画面で、公開範囲を非公開にする

非公開に切り替える手順

公開で作ってしまったものは、こう直します。

  1. リポジトリのページを開きます
  2. 「Settings」を開きます。見えないときは「…」のメニューの中にあります
  3. 下のほうの「Danger Zone」で「Change repository visibility」の「Change visibility」を押します
  4. 公開範囲を選びます
  5. 対象のリポジトリで合っているか確かめます
  6. 「I have read and understand these effects.」を選びます
  7. 「Make this repository private」を押します

切り替えられないときは、Organizationのオーナーが変更を制限している可能性があります。その場合はオーナーに頼みます。

非公開に戻しても、他人の複製は戻らない

公開していた間に作られたものは、切り替えても消えません。

GitHub Docsには、公開のフォーク(他人が自分のアカウントに作った複製)は非公開にならず、元のリポジトリから切り離されて公開のまま残ると書かれています。誰かが手元に取得した複製(クローン)も、こちらから消す手段はありません。秘密情報の漏えいの手順でも、他人のクローンやフォークには残ると説明されています。

切り替えで変わることは、ほかにもあります。

公開から非公開にすると内容
スターとウォッチ消えます
GitHub PagesFreeでは公開中のサイトが自動で取り下げられます
使える機能Freeの非公開の範囲に減ります

反対に、非公開から公開にすると、コードは誰でも見られて、誰でもフォークできて、GitHub Actionsの履歴とログも全員に見えます。パスワードが入っていないか確かめる前に公開してはいけません。.env が過去のコミットに入っていれば、いまのファイルに無くても履歴から見えます。

公開範囲はDanger Zoneの中で変える
公開範囲はDanger Zoneの中で変える

GitHubはバックアップになるのか

控えとしては役に立ちます。ただし、預かるのは送ったものだけです。

実際に試すと分かりやすいです。一時的に作ったリモート(送信先。ここではGitHubの代わりに手元のフォルダ)を相手に、料金表を直してコミットします。

$ git commit -m "料金表を修正"
[main 5215e3c] 料金表を修正
 1 file changed, 1 insertion(+), 1 deletion(-)

$ git status
On branch main
Your branch is ahead of 'origin/main' by 1 commit.
  (use "git push" to publish your local commits)

nothing to commit, working tree clean

origin/main は送信先の main のことです。「1コミット進んでいる」と言っています。コミットしただけで、送信先にはまだ届いていません。このままMacが壊れると、この修正はなくなります。送るのは git push です。

$ git push origin main
To ../remote/website.git
   d42e1fd..5215e3c  main -> main

$ git status
On branch main
Your branch is up to date with 'origin/main'.

nothing to commit, working tree clean

実際のGitHubが相手なら、To のあとにGitHubのアドレスが出ます。ここまでやって、初めて外に控えができます。

守れるもの守れないもの
pushしたコミットの履歴まだコミットしていない変更
pushしたブランチ(枝)の中身コミットしただけでpushしていない変更
Macの故障や紛失のあとに取り戻すこと.gitignore(Gitの管理から外す指定)で外したファイル
誤って直した内容を前のコミットへ戻すことリポジトリの外のファイル

.gitignore で外すのは .env のように入れてはいけないファイルなので、これは別の安全な場所に控えを置きます。

もう1つ、GitHub Docsのバックアップの説明では、ミラーのクローンにWikiは含まれず、別に取るものとされています。GitHubの中だけにあるやり取りまで控えたい場合は、Git以外の手段を考えます。ふつうの小さな会社なら、そこまで要りません。

pushするまで、最新のコミットは手元にしかない
pushするまで、最新のコミットは手元にしかない

よくある勘違い

GitHubが止まると作業できないのか

止まっても、手元の作業は続けられます。履歴はパソコンの中にあるので、コミットも履歴を見るのもネットなしでできます。止まるのは git push のような送受信と、プルリクエストなどGitHubの画面でやることです。自動処理やサイト公開をGitHubに任せているなら、それも影響を受けます。状況は公式の「GitHub Status」のページで確かめられます。

稼働率の保証は、プランの説明では有料のEnterprise Cloudの項目に99.9%と書かれています。利用規約では、特定の時間に使えることは保証していません。

Copilotと同じものなのか

別のものです。GitHub Copilotは、コードを書くのを手伝うAIの機能です。GitHubのアカウントとは別に、Copilotのプランで使います。GitHubを使っていてもCopilotを使う必要はありません。逆に、Claude CodeのようなほかのAIを使っていて、置き場所だけGitHubという使い方もできます。

無料だと危ないのか

非公開の扱いは、プランで変わるものではありません。Freeでも非公開リポジトリを作れて、招待した人にしか見えません。

利用規約には、非公開リポジトリの中身は機密として扱うと書かれています。GitHubの担当者が同意なく見られるのは、セキュリティ上の必要、脆弱性や規約違反を調べる自動スキャン・確認、持ち主のサポート、サービスの維持、法的な義務の場合に限られる、という書き方です。

Freeで足りないのは、機能のほうです。非公開リポジトリのブランチ保護(本体の枝を勝手に変更させない設定)と、秘密情報の検出が入りません。Freeで使うなら、ここは運用で補います。入れてはいけないファイルを入れない、確認してから合流する、2段階認証を入れる、の3つです。

全部公開しないと無料で使えないのか

昔の話です。いまは非公開もFreeで数の制限なく作れて、共同作業者の人数にも制限がありません(2026年11月時点)。

できないことと、その代わり

GitHubが向かない場面その代わり
写真や動画の保管Googleドライブなどのストレージ。GitHubは100MiBを超えるファイルをブロックする
文書の共同編集Googleドキュメントなど
社外にコードを出せない規定があるGitLab Self-Managed や GitHub Enterprise Server など自社サーバーに置く形
Jiraを中心に動いているチームBitbucketも候補
取引先がGitLabで動いているGitLabに合わせる
Freeで非公開のままサイトを出したいGitHub Pagesは個人のFreeでは公開リポジトリのみ。別の公開手段かプランの変更

GitHubの非公開は、中身を暗号のように隠すものではありません。招待した人とGitHub自身の範囲で閉じるものです。扱えないデータがある会社は、先に社内の規定を確かめます。

よく詰まるところ

招待されたのにリポジトリが見つからない

招待を承認していないか、別のアカウントでログインしています。招待のメールか通知から承認します。個人とOrganizationの招待の違いは「GitHubの権限と2段階認証:共同作業者・Organization・非公開リポジトリ」に書きました。

開くと404になる

非公開リポジトリは、権限がない人には存在しないページのように表示されます。アドレスの間違いか権限切れのどちらかです。持ち主に招待を確かめてもらいます。

Settingsのタブが出ない

権限が足りません。「…」のメニューの中も見て、無ければ管理者の権限を持つ人に頼みます。代表のアカウントが読むだけの権限で招待されていることがあります。

Change visibility が押せない

Organizationのオーナーが、公開範囲の変更をオーナーだけに制限しています。オーナーに頼むか、設定を変えてもらいます。

公開か非公開か分からない

リポジトリ名の横に Public か Private と出ています。契約を切り替えたあとや制作会社に作ってもらったあとは、ここを1回見ておきます。

誤って公開してパスワードも入っていた

非公開にするだけでは足りません。先にそのパスワードを無効にして作り直します。手順は「APIキーやパスワードをGitHubにpushしてしまったときの対応」に続きます。

次に読む

Gitのほうから整理するなら「Gitとは:GitHubとの違いと、履歴を残す仕組み」、料金が気になるなら「GitHubの料金:Free・Team・Enterpriseと無料でできる範囲」です。実際に作ってみるなら「GitHubの使い方:アカウント作成から最初のリポジトリまで」、誰に何の権限を渡すかは「GitHubの権限と2段階認証:共同作業者・Organization・非公開リポジトリ」を読んでください。

コードの断片だけを渡すなら「GitHub Gistとは:コードの断片を共有する、公開範囲の注意点」、やることの管理は「GitHub IssuesとProjectsの使い方:やることを管理する」にあります。

あわせて読む