
どもども
今回は「HTTPS・SSH・CLIの違い」について解説します。

どれを使えばいいんだろう〜

こんなあなたにピッタリな記事👇
- GitHubを使い始めたばかり
- git clone に3種類あるのが気になっている
- どれを使えばいいか迷っている
がまぁまぁわかります!
未経験からエンジニア転職を目指すなら
👉 テックゲート転職 をチェック!
Gitのクローンには3種類ある
GitHubでリポジトリを自分のPCにクローン(コピー)するため、「Code」ボタンを押すと次の3つの接続方法が表示されます。

種類 | URL例 | 特徴 |
---|---|---|
HTTPS | https://github.com/ユーザー名/リポジトリ.git | 手軽だがpush時に認証必要 |
SSH | git@github.com:ユーザー名/リポジトリ.git | 初期設定必要だが以降は楽 |
GitHub CLI | gh repo clone ユーザー名/リポジトリ | CLI使用者向けの先進的な方法 |
📌 例えるなら…
- HTTPS:玄関で名前とパスワードを言わないと入れない(毎回認証が必要)
- SSH:合鍵を持っていればそのまま入れる(1回設定すれば楽)
- GitHub CLI:スマートスピーカー付きの玄関。音声コマンドだけで開け閉めできる(コマンドひとつでPRやIssueの操作も完了)
HTTPSの特徴
git clone https://github.com/ユーザー名/リポジトリ.git
🔓️ 特徴
認証が手軽で誰でも使えるが、push時にtoken入力(認証)が必要
※保存済みなら省略可
✔ 使い方
① GitHubでHTTPSのURLをコピーして貼り付け
② パスワードを求められたら、ユーザー名・トークンを貼り付け
git clone https://github.com/ユーザー名/リポジトリ.git
> Username for 'https://github.com': ユーザー名
> Password for 'https://github.com': tokenの内容
push時に認証を求められないパターン
🔎 パターン1:すでに SSH 接続に切り替わっている
git remote -v
を実行して、下記が表示されたら既にSSH接続を使っているという意味です。
なので git push
しても token やパスワードを聞かれないのが正しい挙動です。
git remote -v
> origin git@github.com:ユーザー名/リポジトリ.git (fetch)
> origin git@github.com:ユーザー名/リポジトリ.git (push)
🔎 パターン2:HTTPSだけど、token を保存済み
もし以前に HTTPS で push したときに token を保存していたら、Macの「キーチェーン」などに保存されていて、聞かれないこともあります。
SSHの特徴
git clone git@github.com:ユーザー名/リポジトリ.git
🔓️ 特徴
- 初回のみ、SSH鍵を作成してGitHubに登録
- pushもpullも認証無しでスムーズ
- CI/CDや自動化との相性も高い
✔ 使い方
① SSH鍵(鍵ペア)を作る
ssh-keygen -t ed25519 -C "メールアドレス"
どこの階層(ディレクトリ)でも実行してOK~/.ssh/id_ed25519
(秘密鍵)と ~/.ssh/id_ed25519.pub
(公開鍵)が生成されます。
② 公開鍵をGitHubに登録
cat ~/.ssh/id_ed25519.pub
- 上記のコマンドで、公開鍵の中身を確認してコピー
- GitHubにログイン
- 右上のアイコンをクリック → Settings(設定)
- 左メニューから SSH and GPG keys を選択
- [New SSH key] ボタンをクリック
cat
コマンドで表示された公開鍵を貼り付けて保存
GitHub CLIの特徴
gh repo clone ユーザー名/リポジトリ
🔓️ 特徴
- GitHub公式CLIツール
- PR作成やIssue管理もコマンドだけでOK
- SSHとHTTPSの接続設定も対話形式で簡単に切り替えられる
✔ 使い方
公式手順はこちらをご確認ください:https://cli.github.com/
結局どれを使えばいい?
シーン | おすすめ |
---|---|
勉強用、お試し利用 | HTTPS |
本格的に開発したい | SSH |
PR管理もやりたい、CLI感覚で使いたい | GitHub CLI |
トークン保存済みHTTPSとSSHの違いってあるの?
たしかに、トークンを保存していればgit push
時に毎回パスワードを入力する必要はなく、操作感は SSH と似ています。
でも、それでも SSH を使うべき理由があります。
HTTPSよりSSHを選ぶメリット
項目 | SSH | HTTPS(トークン保存済み) |
---|---|---|
毎回の認証 | ✅️ 不要(鍵で認証) | 🔼 省略可(保存時のみ) |
トークンの有効期限 | ✅️ なし(鍵は手動で管理) | 🔼 あり(通常は90日など) |
再認証の必要性 | ✅️ 基本なし | ❌️ 期限切れ後に必要 |
自動化(CI/CD)での使用 | ✅️ 簡単(秘密鍵を渡すだけ) | 🔼 環境変数やGitHub Tokenが必要 |
接続の安定性 | ✅️ 高い | 🔼 GitHubのポリシーに左右される |
結論
見た目は似ていても、安定性・自動化・セキュリティの面でSSHの方が圧倒的におすすめです。
特に、チーム開発やCI/CDの導入が視野にあるなら、最初からSSHに慣れておくのがベストです。

おつかれさまでした!
コメント