1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitとGitHubを初めてつなぐ人のための完全ガイド(SSH接続・エラー対処まで網羅)

Last updated at Posted at 2025-07-14

対象読者

前提

何について書いている?

  • ローカルリポジトリとリモートリポジトリにおけるGitとGitHubの接続手順について書いている。

何ができるようになる?

  • ローカルのコンピュータとリモートリポジトリを用いたバージョン管理ができるようになる。

目次


Gitのユーザー名とメールアドレスの設定

  • ユーザー名
    git config --global user.name "hoge"
    
  • メールアドレス
    git config --global user.email "your_email@example.com"
    

GitHub側の初期設定

  1. ブラウザからGitHubでリポジトリを作成。

以下のURLをクリック

https://github.com/new

  1. 以下の項目を入力・選択する
  • Repository name(リポジトリ名)※必須

→ URLの一部になります(例:https://github.com/ユーザー名/リポジトリ名

  • Description(説明)※任意

→ 公開・非公開どちらでも、他人や将来の自分にわかりやすく書くのが望ましい

  • Visibility(公開範囲)を選択

    • Public:誰でも見られる

    • Private:自分と招待した人だけ見られる(あとから Public に変更可能)

  • Initialize this repository with:(初期化オプション)※任意

  • Add a README file:プロジェクトの説明書きを含む README.md を作成

  • .gitignore:開発環境に応じて無視すべきファイルのテンプレートを選択(Python, Nodeなど)

  • Choose a license:MIT、GPL、Apacheなどのオープンソースライセンスを選ぶ

    • ※上記のいずれかのオプションを選択しておくと、リモートリポジトリに main ブランチが作成されます

    • README の追加を特に推奨します。

    • 理由:完全に空のリモートリポジトリを作った状態で git push を実行しても、GitHub 側には main ブランチが存在しないため、エラーになります。

      ローカル側では git init 時点で main ブランチが作成されますが、GitHub 側は初期化されていないため、push先のブランチを認識できず src refspec main does not match any などのエラーが出ます。

最後に [Create repository] をクリックして完了

Gitを用いてリモートリポジトリと連携するローカルリポジトリを作成する手順

ディレクトリを作成

mkdir my-repo

ディレクトリに移動

cd my-repo

Gitの初期化

git init

リモートリポジトリを登録

git remote add origin git@github.com:ユーザー名/リポジトリ名.git
※git@github.com:ユーザー名/リポジトリ名.gitの出し方は以下のリモートリポジトリのURLをhoge部分に張り付ける流れを参照してください。
  • 上記の手順の意味

  1. シェルでgit管理下予定のフォルダ・ディレクトリを作成する。
  2. 作成したフォルダ・ディレクトリに移動する。
  3. git initを実行するつまりgit管理下のフォルダ・ディレクトリにする初期化設定(初期設定)をする。
  4. git管理下のフォルダ・ディレクトリとリモートリポジトリと接続しローカルの変更とリモートの変更を追跡しファイルの管理がローカル・リモートからできる状態にできた。

シェルでGitHubのリモートリポジトリとローカルリポジトリの連携

リモートリポジトリのURLを指定しfetchとpushの設定をしてローカル・リモートでのリポジトリの変更を追跡可能にする。
git remote set-url origin hoge

リモートリポジトリのURLをhoge部分に張り付ける流れ

→ GitHubリポジトリページで [Code] をクリック
→ [Local] タブ内の [SSH] を選択
→ 表示された git@github.com:ユーザー名/リポジトリ名.git をコピー

リモートリポジトリのURLが正しいかどうかを確認する

git remote -v
origin	git@github.com:hoge/new-repo.git (fetch)
origin	git@github.com:hoge/new-repo.git (push)

new-repo.gitが指定されたリモートリポジトリになっていたら成功です。

SSH鍵の作成

SSH鍵は公開鍵暗号方式(要するに暗号)を使った認証情報です。GitHubとSSH接続するにはローカルでSSH鍵(認証鍵)を作成しその公開鍵をGitHubに登録する必要があります。つまり自分のパソコンだけの操作(シェル)とGitHub上での操作(ブラウザでGitHub上での操作)が必要です。

ローカルでSSH鍵の作成

※ a か bのどちらか一つのみ実行してください。

a. 新しく推奨されている暗号:ed25519

ssh-keygen -t ed25519 -C "あなたのメールアドレス"

b. 古い機器やサーバーとの互換性を求める場合の暗号はRSA

ssh-keygen -t rsa -b 4096 -C "あなたのメールアドレス"

ローカルで作ったSSH公開鍵をリモートリポジトリに置く手順

  1. 以下のURLにアクセスしてください
  2. https://github.com/settings/ssh
  3. SSH keysの右にNew SSH keyと書かれているからそれをクリック
    • Title:好きな名前(任意)
    • Key type:変更不要(通常は Authentication Key)
    • Key:ローカルで生成した公開鍵を貼り付ける

SSH接続の認証

ローカルで以下のコマンドを打つ

ssh -T git@github.com

成功すると以下のようなメッセージが表示される

Hi (account名)! You've successfully authenticated, but GitHub does not provide shell access.

リモートリポジトリをローカルにコピーする方法

git clone git@github.com:ユーザー名/リポジトリ名.git

Gitの設定の確認

ローカル・リモートリポジトリの初期化に必要な設定が満たされているか確認しよう(ユーザー名、メールアドレス、リモートURLが正しく指定されているか)

git config -l

空のリモートリポジトリを作成した後ローカルリポジトリから空のリモートリポジトリにpushした時発生するエラー

error: src refspec main does not match any
error: failed to push some refs to 'git@github.com:ユーザー名/リポジトリ名.git'

上記のエラーを防ぐ方法と解決する方法

  • a リモートリポジトリを作る際に初期化オプションのどれかを作成・選択しておく
  • b(git remote set-url origin hogeが完了している段階) ローカルから最初のpush時にブランチ名も指定して明示的に送る。
    git push origin HEAD:main

メタ構文変数(hogeなど)の表現

メタ構文変数とは読者が置き換えて使うことが前提されている説明のための仮の名前のことです。

  • git config --global user.name hoge
  • git config --global user.email hoge
  • git set-url origin hoge
    hogeやuser.name,user.emailなどがメタ構文変数に当たります。
    ※ 本記事内では hogeユーザー名 などは「メタ構文変数」として使っています。
    実際には自分の情報に置き換えてください。

まとめ

  • GitとGitHubの接続方法の手順を記した。
    これを完了すれば、ローカルとリモートでのバージョン管理をSSH接続で安全に行えるようになる。

参考にさせていただきました

GitとGitHubの基本操作・概念整理


SSH鍵・接続・セキュリティ


エラー・実践ノウハウ


ライセンス関連


メタ構文変数の補足


その他・全体の構成参考


1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?