When yougit clone,git fetch,git pull, orgit pushto a remote repository using HTTPS URLs on the command line, you'll be asked for your GitHub username and password. 当你在命令行中使用HTTPS的URL来对远程仓库进行git clone,git fetch,git pull, 或者git push操作时,你会被要求输入Github的用户名和密码。
これは http プロトコルの特定の特性に関連していると思います。実際、github は http プロトコルに基づく Smart http プロトコルを使用します。ただし、便宜上、後で http プロトコルを直接使用して呼び出すことにします。
http プロトコルを使用すると、ローカル構成を行わずにリモート ウェアハウスをプッシュ、クローン、プルすることができます。つまり、このプロトコルはどこでも使用できます。つまり、ローカルに依存しません。これは、このプロトコルを ssh プロトコルと区別する主要な機能です。 Cookie などの特別なメソッドが使用されない限り、http プロトコルはリクエストの送信者を記憶したり認識したりしないためです。したがって、承認が必要なサーバーでは、データを取得またはプッシュする前に、検証のためにユーザー名とパスワードを入力する必要があります。これにより、ユーザーが誰であるか、またデータを取得またはプッシュできるかどうかをサーバーが認識できるようになります。
http プロトコルの特性は、ssh プロトコルとはまったく逆です。ssh プロトコルは、データをプッシュまたは取得する権限があるかどうかを識別するために ssh キーに依存しますが、その場合、ssh キーはローカルに保存されます。ローカルに ssh キーがない場合、データの取得またはプッシュの操作を完了することはできません。両者はまさに相補的であり、対極的な関係を形成しています。
これで質問の答えがわかるはずです!
あなたの役に立つかもしれないので、以下でもう少し詳しく述べたいと思います。ここで 2 つの利点と欠点をまとめてみましょう:
httpプロトコル
利点: URL と対応する権限がある限り、対応する操作を実行できます
欠点: パスワード キャッシュ メカニズムが使用されていない限り、各操作で頻繁に検証が必要になります
sshプロトコル
利点: データをプッシュまたは取得するときに毎回認証のためにパスワードを入力する必要はありません
欠点: 使用前に ssh キーを設定して生成する必要がある
さらに、github ウェブサイトの場合、
git Push
、git pull
、およびgit fetch
は検証が必要であることがわかります。git clone を実行するときに検証は必要ありません
。このことから、github サーバーは認証が必要な種類のサーバーであると推測できます (あくまで個人的な推測ですが、参考までに)。おそらくgit clone
は検証を必要としない特別に設定された操作です。 。 1つ。git push
、git pull
、git fetch
的时候需要验证,而git clone
的时候不需要验证。由此,我可以这样推测(只是我的个人推测,仅供参考),github的服务器就属于那种需要授权的服务器,但是可能git clone
是特别设置不需要验证的操作之一。但是我在Github的帮助手册中发现了这句话:
但是实际上
しかし、Github ヘルプマニュアルで次の文を見つけました: ## ##しかし、実際には、git clone
git clone
はユーザー名とパスワードの入力を必要としません。ヘルプ ドキュメントが間違っているからでしょうか? ここで、他の人が私の回答を続けられることを願っています。 !または、新しく開いた質問で回答することもできます。ここをクリックして入力してください。 ##HTTP は入力したパスワードをどのように保存すると思いますか?