結論: GitHub(ギットハブ)とは、プログラムの変更履歴を保存・管理・共有するためのWebサービスであり、エンジニアにとっての「身分証明書」兼「最強のポートフォリオ」となるインフラです。
GitHubとは? 動画編集に例えて理解する
エンジニアの世界に足を踏み入れると、必ず「Git(ギット)」と「GitHub」という2つの単語に遭遇します。この2つは名前が似ていますが、役割は明確に異なります。初心者が最初に躓くポイントなので、まずはここを整理しましょう。
最も直感的に理解できるのは、YouTuberの動画編集作業に例える方法です。
- Git (ツール): 手元のPCに入っている高機能な編集ソフトの「履歴機能」です。失敗しても
Ctrl+Zで戻せたり、「昨日の状態」と「今の状態」を比較できたりします。インターネットがなくても動きます。 - GitHub (サービス): 編集データをアップロードする「YouTube」や「クラウドサーバー」です。チームメンバーが同じ動画データを編集できるように共有したり、世界中に公開したりする場所です。
つまり、手元のPC(Git)で作業履歴を管理し、そのデータをネット上の倉庫(GitHub)に保管・共有するというのが基本構造です。
現在、世界中で1億人以上の開発者が利用しており、Microsoftの傘下で運営されています。就職や転職の際も「GitHubのアカウントを見せてください」と言われることが一般的であり、もはやエンジニアにとっての必須インフラと言えます。
Mikoto名前が似てるから同じものかと思ってました。PCで作業するのがGit、ネットに上げるのがGitHubってことですね。
Yachiその通りです。Gitさえあれば履歴管理はできますが、それを他人と共有したり、PCが壊れた時のバックアップとして使うためにGitHubが必要になるんです。
Yachiちなみに、Gitを使わずにファイル名で「v1」「v2」「最終版」「本当に最終版」と管理するのは、エンジニアの世界ではご法度です。個人的には、プログラミングをしない人でも、ドキュメント管理のためにGitを導入すべきだと考えています。

Start: アカウント登録と環境構築
まずは「場所(アカウント)」と「道具(Git)」を用意します。
1. GitHubアカウントの作成
公式サイト(github.com)にアクセスし、「Sign up」から登録します。必要なのは以下の3点です。
- Username: 公開URLの一部(
github.com/ユーザー名)になります。実務でも使う可能性が高いため、ふざけた名前は避けましょう。 - Email: 普段使うメールアドレス。
- Password: 強固なものを設定。
登録後に届くメール認証を済ませれば完了です。プラン選択画面が出た場合、個人利用であれば「Free(無料)」を選んでください。機能制限はほぼありません。
Yachiユーザー名は後から変更できますが、URLが変わってしまうためリンク切れの原因になります。個人的には、Twitter(X)やQiitaなどの技術アカウントと同じIDにしておくと、個人のブランディングとして統一感が出るのでおすすめです。
2. Gitのインストール
手元のPCにGitコマンドを導入します。
- Windows: 「Git for Windows」をダウンロードしてインストールします。設定項目が多いですが、基本的にはデフォルトのままで進めて構いません。ただし、エディタ選択画面では使い慣れた「VS Code」などを指定しておくと後で楽になります。
- Mac: ターミナルを開き、
git --versionと入力してください。インストールされていなければ、自動的に案内のウィンドウが出ます(あるいはHomebrew経由でインストールします)。
3. 【必須】ユーザー署名の設定
Gitをインストールしたら、必ず最初に行う設定があります。「誰が作業したか」を識別するための名札作りです。これを忘れると、後でコミット(記録)する際にエラーになります。
ターミナル(またはGit Bash)を開き、以下のコマンドを入力します。
git config --global user.name "Your Name" # 半角英字推奨
git config --global user.email "your_email@example.com" # GitHub登録時と同じメアド
これで、「あなたが作業した」という署名が履歴に残るようになります。
Mikotoこれって、GitHubのパスワードとか入れなくていいんですか?
Yachiここではあくまで「名札」を作るだけなので、認証情報はまだ不要です。ただ、メールアドレスはGitHubに登録したものと一致させておかないと、後でGitHub上のアイコンが正しく表示されないので注意してくださいね。
【最重要】「鍵」を作る:Personal Access Tokenの設定
ここが現代のGitHub入門における最大の脱落ポイントです。必ず読んでください。
かつては、コマンド操作時の認証に「GitHubのログインパスワード」が使えましたが、セキュリティ強化のため2021年に廃止されました。現在はパスワードの代わりにPersonal Access Token(パーソナルアクセストークン)という「専用の鍵」を使う必要があります。
これを設定しないと、最後の最後で「認証エラー」になり、作業をアップロードできません。先に鍵を作っておきましょう。
Mikotoえ、ログインパスワードじゃダメなんですか?面倒ですね…。
Yachi確かに一手間ですが、これはセキュリティのためです。万が一トークンが流出しても、そのトークンだけ無効化すればアカウント自体は守られますから。家の鍵を渡す代わりに、倉庫専用のスペアキーを渡すようなイメージです。
トークン発行の手順
- GitHubの画面右上のアイコン → Settings をクリック。
- 左サイドバーの一番下 Developer settings をクリック。
- Personal access tokens → Tokens (classic) を選択。
- Generate new token (classic) をクリック。
- Note: 用途を入力(例:
Study-PC-Token)。 - Expiration (有効期限): セキュリティ的には期限ありが望ましいですが、学習用であれば一旦
No expiration(無期限)や長めの期間でも構いません。 - Select scopes (権限): ここが重要です。
repoという項目にチェックを入れてください。これがないと、リポジトリへの書き込み(Push)ができません。 - Generate token ボタンを押下。
画面に ghp_ から始まる長い文字列が表示されます。これが「パスワード代わり」になります。
Yachiちなみに、最近は「Git Credential Manager」などの補助ツールを使えば、ブラウザ認証だけで済む場合もあります。ただ、環境によって挙動が異なるため、基礎としてトークンの仕組みを理解しておくことを強く推奨します。
Step 1: 倉庫の建設 – リポジトリの作成
準備が整ったので、実際にデータを管理する場所(リポジトリ)を作ります。
ここでは、日々の学習記録を残す「Learning Log」を作るシナリオで進めます。
GitHub側(リモート)で倉庫を作る
- GitHubのトップページ右上にある「+」アイコン → New repository を選択。
- Repository name:
my-learning-logと入力(英数字とハイフン推奨)。 - Public / Private: 誰でも見れるようにするならPublic、自分だけならPrivate。学習用ならPublicにして「草(活動履歴)」を見せるのが一般的です。
- その他のチェックボックスは触らず、Create repository をクリック。
作成完了後、画面に表示されるHTTPSのURL(例: https://github.com/YourName/my-learning-log.git)をコピーしておきます。
Mikoto下手なコードを見られるのが恥ずかしいんですけど、Privateじゃダメですか?
YachiもちろんPrivateでもOKです。ただ、就職活動などで「GitHub見せて」と言われたときに中身が見えないので、見せたいリポジトリだけ後からPublicに変更するのも手ですね。個人的には、学習過程こそオープンにして「成長する姿勢」を見せるのが得策だと思います。
PC側(ローカル)で作業場を作る
ターミナルを開き、手元のPCにフォルダを作成してGitの管理下に置きます。
# デスクトップに移動(場所は任意)
cd Desktop
# フォルダを作成
mkdir my-learning-log
# フォルダの中に入る
cd my-learning-log
# 【重要】このフォルダをGit管理下に置くと宣言する
git init
git init を実行すると、フォルダ内に .git という隠しフォルダが生成されます。これがGitの「心臓部」であり、ここに全ての変更履歴が格納されます。
Yachiよくあるミスが、デスクトップなどの「通常のフォルダ」の中で git init を実行せず、ユーザーのホームディレクトリ直下で実行してしまうことです。PC全体がGit管理下になってしまい動作が重くなる原因になるので、必ず cd で目的のフォルダに入ってから実行してください。
Step 2: 記録と転送 – 変更履歴を作る3段階プロセス
ここからがGit操作の本番です。
Gitでの保存作業は、よく「引っ越しの荷造り」に例えられます。単に「保存」するのではなく、以下の3ステップを踏む必要があります。
- Add: 荷物をダンボールに入れる(選別・梱包)
- Commit: ダンボールをガムテープで閉じ、中身を書く(記録の確定)
- Push: ダンボールをトラックに載せて新居(GitHub)へ送る(送信)
Mikotoえ、普通に「保存(Ctrl+S)」だけじゃダメなんですか?3段階って面倒すぎません?
Yachi確かに最初はそう感じますよね。でも、「作業中のファイル(保存)」と「歴史に残したい記録(コミット)」を分けることには大きな意味があります。「とりあえず保存」は何度でもしていいけど、「コミット」は機能が完成したタイミングでする、といった使い分けができるからです。
実践:ファイルを作ってアップロードする
まずは、管理対象となるファイルを作成しましょう。エディタで README.md というファイルを作り、以下の内容を書いて保存してください。
# 学習日記
今日はGitHubの使い方を学びました。
1. ステージング (git add)
変更したファイルを「次回のコミット(記録)に含める」候補として選びます。
git add README.md
# または全ての変更を含める場合
git add .
これは引っ越しで言うところの「この本をダンボールに入れた」状態です。まだガムテープは貼っていません。
2. コミット (git commit)
梱包した荷物を確定させ、メッセージ(ラベル)を貼ります。
git commit -m "First commit: Create README file"
-m: メッセージオプション。"...": 変更内容の説明。英語で書くのが慣例です。
これでローカル(手元のPC)への保存は完了しました。しかし、まだGitHub(Web上)には届いていません。
3. プッシュ (git push)
ローカルの変更履歴を、リモート(GitHub)へ送信します。
まず、送信先のアドレスを登録します(初回のみ)。
# origin という名前でGitHubのURLを登録
git remote add origin https://github.com/YourName/my-learning-log.git
次に、データを送信します。現在、主流のブランチ名は main です。
# -u オプションをつけると、次回から git push だけで送信できるようになる
git push -u origin main
ここで認証が求められます。
- Username: GitHubのユーザー名を入力。
- Password: 先ほど発行したPersonal Access Tokenを貼り付けます(入力しても画面には文字が表示されませんが、内部では入力されています)。
成功すると Counting objects... done. などのメッセージが表示されます。GitHubの画面をリロードして、ファイルが表示されていれば成功です。

Step 3: 並行世界の作成 – ブランチ操作とスイッチ
開発現場では、稼働中のメインコードを直接いじることはほとんどありません。バグを出して壊してしまうリスクがあるからです。
そこで登場するのがブランチ(Branch)機能です。これは「メインの世界」から分岐して「パラレルワールド」を作る機能です。
実践:プロフィールの更新作業
main ブランチはそのままで、新しく update-profile という作業用ブランチを作って作業してみましょう。
1. ブランチの作成と移動
かつては checkout コマンドが使われていましたが、現在はより分かりやすい switch コマンドが推奨されています。
# 新しいブランチを作成(-c)して、そこに移動(switch)する
git switch -c update-profile
Yachi古い技術記事だと git checkout -b と書かれていますが、個人的には git switch を推奨します。Checkoutは機能が多すぎて混乱の元だからです。これから覚えるなら、より直感的な switch(切り替え)と restore(復元)を使いましょう。
2. ファイルの変更とコミット
README.md に一行追記して保存します。
# 学習日記
今日はGitHubの使い方を学びました。
- ブランチ操作を習得中
変更を保存したら、コミットします。
git add .
git commit -m "Update profile info"
この時点では、update-profile というパラレルワールドだけが進んでおり、main の世界は古いままです。
3. ブランチのプッシュ
この新しいパラレルワールドをGitHubへ送信します。
git push origin update-profile
Step 4: 統合依頼 – プルリクエストからマージまで
ブランチをプッシュすると、GitHubの画面上に「Compare & pull request」というボタンが現れます。
これがPull Request(プルリクエスト / PR)の入り口です。
プルリクエスト (PR) とは?
「私が作った変更(パラレルワールド)を確認して、問題なければ本体(main)に引っ張って(Pull)統合してください」という依頼のことです。チーム開発では、コードレビュー(監査)を受けるための重要なプロセスです。
Mikoto今回は一人でやってるから、自分で自分に「統合のお願い」をするってことですか?
Yachiちょっと奇妙に感じるかもしれませんが、その通りです。個人開発でもPRを作る癖をつけておくと、「何を変更したか」を後で振り返りやすくなりますし、実務に入ったときにスムーズに適応できますよ。
手順
- GitHub画面の「Compare & pull request」ボタンを押す。
- タイトルと説明文(何を変更したか)を入力。
- Create pull request をクリック。
- (チーム開発ならここでレビューが入りますが、個人なら自分で進めます)
- Merge pull request → Confirm merge をクリック。
これで、update-profile の内容が main に統合(マージ)されました。
Yachi実務では、このPRの段階で「コードレビュー」が行われます。先輩エンジニアから「ここのコード、もっと効率的に書けるよ」といった指摘をもらい、修正してまたPushする。このサイクルこそが、エンジニアが成長するメインの場です。
忘れがちな「手元の同期」
Web上でマージしても、手元のPCの main はまだ古いままです。手元の main も最新状態にしておきましょう。
# メインブランチに戻る
git switch main
# リモートの最新情報を引っ張ってくる
git pull origin main
これで、Webとローカルの両方が最新状態で同期されました。
知っておくべき重要用語:クローンとフォーク
他人のコードを利用する際によく使う操作です。
Clone(クローン)
リモートにあるリポジトリを、自分のPCに丸ごとダウンロードすることです。
Zipファイルでのダウンロードとの違いは、「Gitの変更履歴も付いてくる」点と「(権限があれば)そのままPushできる設定が含まれている」点です。
git clone https://github.com/Someone/cool-project.git
Yachi初学者がよくやるミスとして、Zipでダウンロードしてしまうケースがあります。これだとGitの履歴情報が失われてしまうので、必ず git clone コマンドを使うようにしましょう。
Fork(フォーク)
他人のリポジトリを、自分のGitHubアカウント配下にコピーすることです。
オープンソース(OSS)などに貢献したい場合、他人(公式)のリポジトリには直接書き込み権限がありません。そこで一旦自分のアカウントにフォーク(コピー)し、そこで変更を加えてから、本家に対してプルリクエストを送るのが作法です。

よくあるトラブルと解決策 (Troubleshooting)
初心者がパニックになりがちなエラーとその対処法です。
1. Authentication failed (認証失敗)
- 症状:
git push時にエラーが出る。 - 原因: トークンの入力ミス、有効期限切れ、またはトークン作成時に
repo権限を付け忘れている。 - 対策: トークンを再発行し、確実にコピー&ペーストする。パスワードを入力していないか再確認。
2. non-fast-forward (拒否される)
- 症状:
git pushしたら「rejected」と言われる。 - 原因: GitHub側の履歴が自分より進んでいる(誰かが先にPushした、またはWeb上で編集した)。
- 対策: まず
git pullして最新状態を取り込んでから、再度Pushする。
3. 謎のエディタ (Vim) から出られない
- 症状: コミットメッセージを入れ忘れて
git commitを実行したら、画面が切り替わり操作不能になった。 - 原因: デフォルトエディタのVimが起動している。
- 対策:
- キーボードの
Escを押す。 :q!と入力する(画面下部に表示されます)。Enterを押す。これで強制終了して脱出できます。その後、-mオプション付きでコミットし直してください。
- キーボードの
FAQ: 初心者が気になるポイント
- ずっと無料で使い続けられますか?
-
はい、可能です。
Microsoftによる買収後、機能制限は大幅に緩和されました。個人開発レベルであれば、Privateリポジトリ(非公開)の作成数も無制限ですし、基本的な機能はずっと無料で利用できます(2026年時点の仕様に基づく)。 - 英語が苦手ですが日本語化できますか?
-
公式UIは英語のみです。
ブラウザの翻訳機能を使えば日本語になりますが、推奨しません。なぜなら、エラーメッセージや技術用語(Push, Merge, Commitなど)は世界共通で英語が使われており、日本語化すると逆にトラブルシューティング時の検索性が下がるからです。基本的な単語は慣れてしまいましょう。 - MacとWindowsで操作は違いますか?
-
基本コマンドは同じです。
git addやgit pushなどのコマンドは共通です。ただし、最初のインストール手順や、ファイルパスの表記(\と/)などが異なります。また、Windowsユーザーは「Git Bash」を使うことで、Mac(Linuxベース)に近い感覚で操作できます。
まとめ
GitHubは単なる「ファイル置き場」ではなく、エンジニアとしての信頼を担保する重要なプラットフォームです。最初はコマンド操作(黒い画面)に抵抗があるかもしれませんが、やることはシンプルです。
- 荷造りして (Add)
- 確定させて (Commit)
- 発送する (Push)
まずはこのサイクルを体に馴染ませましょう。エラーが出ても、コピーして検索すれば必ず答えが見つかります。今日作ったアカウントとリポジトリが、あなたのエンジニアキャリアの第一歩となるはずです。
Yachi最後に一つだけ。GitHubには「草(Contributions)」という機能があり、活動すると緑色のマスが埋まっていきます。これを楽しみに毎日コードを書くエンジニアも多いです。まずは一日一回コミットして、草を生やすことから始めてみませんか?継続は力なり、です。
