Git のリモート (remote) が SSH で構成されているかどうかを確認する方法

GitGitBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Git のリモートが SSH プロトコルを使用して構成されているかどうかを確認する方法を学びます。まず、git remote -v コマンドを使用して、リポジトリに構成されているリモート URL を表示します。

次に、リモート URL 内の SSH プロトコルの形式を識別する方法を学びます。最後に、リモートリポジトリに接続するために HTTPS と SSH を使用する場合の違いについて簡単に触れます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/BasicOperationsGroup(["Basic Operations"]) git(("Git")) -.-> git/CollaborationandSharingGroup(["Collaboration and Sharing"]) git/BasicOperationsGroup -.-> git/add("Stage Files") git/CollaborationandSharingGroup -.-> git/remote("Manage Remotes") subgraph Lab Skills git/add -.-> lab-560077{{"Git のリモート (remote) が SSH で構成されているかどうかを確認する方法"}} git/remote -.-> lab-560077{{"Git のリモート (remote) が SSH で構成されているかどうかを確認する方法"}} end

git remote -v を実行して URL を確認する

このステップでは、Git リポジトリに関連付けられたリモート URL を確認する方法を学びます。Git における「リモート (remote)」とは、基本的にはリポジトリの別のバージョンへのリンクであり、通常は GitHub、GitLab、または Bitbucket のようなプラットフォームにホストされています。リポジトリをクローンすると、Git は自動的に origin という名前のリモートを設定し、元のリポジトリの URL を指すようにします。

現在のリポジトリに構成されているリモート URL を確認するには、git remote -v コマンドを使用します。-v フラグは「verbose (詳細)」を意味し、これによりフェッチ (変更のダウンロード) とプッシュ (変更のアップロード) の両方の URL が表示されます。

まず、正しいディレクトリにいることを確認しましょう。プロジェクトディレクトリに移動します。

cd ~/project/my-time-machine

次に、リモート URL を確認するコマンドを実行します。

git remote -v

これはまだリモートにリンクされていない新しいリポジトリなので、何も出力されません。これは正常な動作です。これは、ローカルリポジトリが現在独立しており、外部のリポジトリに接続されていないことを意味します。

リモート (remote) を理解することは、共同作業や作業のバックアップにおいて重要です。他の人と共同作業を行ったり、GitHub のようなプラットフォームを使用したりする場合、常にリモート (remote) とやり取りすることになります。git remote -v コマンドは、ローカルリポジトリがどこに接続されているかを確認するための手段です。

次のステップでは、リモート (remote) を追加する方法と、URL 形式がどのように異なるかを調べます。

URL 内の SSH プロトコルを確認する

前のステップでは、リポジトリにまだリモート (remote) が構成されていないことを確認しました。では、リモート (remote) を追加し、特に SSH プロトコルの URL 形式に注目しましょう。

SSH (Secure Shell) は、安全でないネットワークを介してコンピュータに安全にアクセスするためのネットワークプロトコルです。Git の文脈では、SSH を使用することで、SSH キーを使用した初期設定の後は、リモートリポジトリとやり取りするたびにユーザー名とパスワードを入力する必要なく、安全に接続することができます。

Git リポジトリの SSH URL は通常、git@hostname:username/repository.git のような形式になります。たとえば、GitHub 上のリポジトリの SSH URL は [email protected]:octocat/Spoon-Knife.git のようになります。

仮想的な SSH URL を使用して、my-time-machine リポジトリにリモート (remote) を追加しましょう。このリモート (remote) には origin という名前を付けます。これは、主要なリモート (remote) の慣習的な名前です。

~/project/my-time-machine ディレクトリにいることを確認します。

cd ~/project/my-time-machine

次に、git remote add コマンドを使用してリモート (remote) を追加します。

git remote add origin [email protected]:yourusername/my-time-machine.git

yourusername はプレースホルダーです。これは URL 形式のデモンストレーション用です。このコマンドは、指定された SSH URL を指す origin という名前のリモート (remote) を追加します。成功すると、何も出力されません。

では、再度 git remote -v を使用して、構成されたリモート (remote) を確認しましょう。

git remote -v

次のような出力が表示されるはずです。

origin  [email protected]:yourusername/my-time-machine.git (fetch)
origin  [email protected]:yourusername/my-time-machine.git (push)

URL 形式に注目してください。[email protected]:yourusername/my-time-machine.git です。これが SSH プロトコルの形式です。git@ から始まり、その後にホスト名 (github.com)、コロン :、そしてリポジトリへのパス (yourusername/my-time-machine.git) が続きます。

SSH URL 形式を理解することは重要です。特に変更をプッシュする必要がある場合、リモート Git リポジトリとやり取りする一般的な方法だからです。これは、資格情報を繰り返し入力する方法に比べて、より安全で便利な方法を提供します。

HTTPS と SSH の比較テスト

前のステップでは、SSH プロトコルを使用してリモート (remote) を追加しました。Git のリモート (remote) とやり取りするためのもう 1 つの一般的なプロトコルは HTTPS です。これらの違いと URL の形式を見てみましょう。

HTTPS (Hypertext Transfer Protocol Secure) は、インターネット上での安全な通信の標準プロトコルです。Git で HTTPS を使用する場合、通常はユーザー名とパスワード、またはパーソナルアクセストークンを使用して認証します。Git リポジトリの HTTPS URL は通常、https:// で始まります。たとえば、同じ仮想的な GitHub リポジトリの HTTPS URL は https://github.com/yourusername/my-time-machine.git となります。

SSH と HTTPS にはそれぞれ利点があります。HTTPS は、SSH キーの生成と設定が不要なため、初期設定が一般的に簡単です。ただし、変更をプッシュするなどの頻繁なやり取りには、SSH は初期設定後に繰り返し認証する必要がないため、より便利です。

追加した SSH リモート (remote) を削除し、代わりに HTTPS リモート (remote) を追加して、git remote -v の出力の違いを確認しましょう。

まず、~/project/my-time-machine ディレクトリにいることを確認します。

cd ~/project/my-time-machine

次に、git remote remove コマンドを使用して既存の origin リモート (remote) を削除します。

git remote remove origin

このコマンドは、origin という名前のリモート (remote) を削除します。成功すると、何も出力されません。

リモート (remote) が削除されたことを確認しましょう。

git remote -v

何も出力されないはずです。これは、origin リモート (remote) が削除されたことを確認するものです。

では、同じ仮想的なリポジトリをリモート (remote) として追加しますが、今回は HTTPS URL を使用します。

git remote add origin https://github.com/yourusername/my-time-machine.git

再び、yourusername はプレースホルダーです。このコマンドは、指定された HTTPS URL を指す origin という名前のリモート (remote) を追加します。

最後に、git remote -v で再度リモート (remote) を確認しましょう。

git remote -v

次のような出力が表示されるはずです。

origin  https://github.com/yourusername/my-time-machine.git (fetch)
origin  https://github.com/yourusername/my-time-machine.git (push)

URL 形式が https:// で始まっていることに注目してください。これが、Git のリモート (remote) における HTTPS と SSH プロトコルの URL 構造の主要な違いです。

実際のシナリオでは、自分の好みと使用している Git ホスティングプラットフォームの要件に基づいて、SSH または HTTPS のいずれかを選択します。どちらのプロトコルも広くサポートされています。

これで、リモート (remote) の追加と削除が成功し、SSH と HTTPS の URL 形式の違いを確認しました。この理解は、リモートリポジトリを操作する際の基本となります。

まとめ

この実験 (Lab) では、git remote -v コマンドを使用して、Git リポジトリに構成されたリモート (remote) URL を確認する方法を学びました。このコマンドは、各構成されたリモート (remote) のフェッチ (fetch) とプッシュ (push) の URL を表示します。これらの URL は、通常 GitHub のようなプラットフォームにホストされている、リポジトリの他のバージョンへのリンクです。リモート (remote) が設定されていない新しいリポジトリでは、このコマンドの出力が表示されないことを理解しました。

次に、Git のリモート (remote) で使用する SSH プロトコルを調べました。SSH は、SSH キーを使用した初期設定後に、資格情報を繰り返し入力することなく、リモートリポジトリと安全にやり取りする方法を提供することがわかりました。HTTPS URL とは異なる SSH URL 形式を識別する方法、および git remote -v の出力を調べることで、リモート (remote) が SSH を使用するように構成されているかどうかを確認する方法を学びました。