# 关于远程仓库

GitHub 的协作式开发方式依赖于将本地仓库中的提交发布到 GitHub，供其他人查看、获取和更新。

## 关于远程仓库

远程 URL 是 Git 一种指示“您的代码存储位置”的绝佳方式。 该 URL 可以是GitHub上的存储库，也可以是其他用户的分支，甚至是在完全不同的服务器上。

您只能推送到两类 URL 地址：

* HTTPS URL（例如 `https://HOSTNAME/user/repo.git`）
* SSH URL（例如 `git@HOSTNAME:user/repo.git`）

Git 将远程 URL 与名称相关联，你的默认远程通常名为 `origin`。

## 创建远程仓库

可以使用 `git remote add` 命令将远程 URL 与名称匹配。
例如，在命令行中输入以下命令：

```shell
git remote add origin <REMOTE_URL>
```

这会将名称 `origin` 与 `REMOTE_URL` 相关联。

可以使用命令 `git remote set-url`[更改远程 URL](/zh/enterprise-server@3.22/get-started/git-basics/managing-remote-repositories)。

## 选择远程仓库的 URL

可通过多种方式克隆可用的 GitHub存储库。

当您登录帐户查看仓库时，可用于将项目克隆到计算机的 URL 会在仓库详情下方提供。

有关设置或更改远程 URL 的信息，请参阅 [管理远程仓库](/zh/enterprise-server@3.22/get-started/git-basics/managing-remote-repositories)。

## 使用 HTTPS URL 克隆

`https://` 克隆 URL 在所有存储库上都可用，无论可见性如何。 即使你在防火墙或代理后面，`https://` 克隆 URL 也有效。

当你在命令行中使用 HTTPS URL 对私有远程仓库执行 `git clone`、`git fetch`、`git pull` 或 `git push` 时，Git 会要求你提供 GitHub 用户名和密码。 当 Git 提示输入密码时，请输入你的 personal access token密码。 或者，可以使用 [Git 凭据管理器](https://github.com/GitCredentialManager/git-credential-manager/blob/main/README.md)等凭据帮助程序。 Git 的基于密码的身份验证已被删除，取而代之的是更安全的身份验证方法。 有关详细信息，请参阅“[管理个人访问令牌](/zh/enterprise-server@3.22/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)”。

> \[!TIP]
>
> * 你可以使用凭据助手，这样 Git 每次与 GitHub 通信时都会记住你的 GitHub 凭据。 有关详细信息，请参阅“[在 Git 中缓存GitHub凭据](/zh/enterprise-server@3.22/get-started/git-basics/caching-your-github-credentials-in-git)”。
> * 若要在命令行上克隆仓库而不向 GitHub 进行身份验证，可以改用 GitHub Desktop 进行克隆。 有关详细信息，请参阅“[将仓库从 GitHub 克隆到 GitHub Desktop](/zh/desktop/adding-and-cloning-repositories/cloning-a-repository-from-github-to-github-desktop)”。

## 使用 SSH URL 克隆

SSH URL 通过 SSH（一种安全协议）提供 Git 仓库的访问权限。 若要使用这些 URL，必须在计算机上生成 SSH 密钥对，并将**公钥**添加到帐户。GitHub 有关详细信息，请参阅“[使用 SSH 连接到GitHub](/zh/enterprise-server@3.22/authentication/connecting-to-github-with-ssh)”。

使用 SSH URL 将 `git clone`、`git fetch`、`git pull` 或 `git push` 执行到远程存储库时，系统将提示你输入密码，并且必须提供 SSH 密钥密码。 有关详细信息，请参阅“[使用 SSH 密钥密码](/zh/enterprise-server@3.22/authentication/connecting-to-github-with-ssh/working-with-ssh-key-passphrases)”。

> \[!TIP]
> 可以使用 SSH URL 将存储库克隆到计算机，或将其用作将代码部署到生产服务器的安全方法。 您还可以将 SSH 代理转发与部署脚本一起使用，以避免管理服务器上的密钥。 有关详细信息，请参阅“[使用 SSH 代理转发](/zh/enterprise-server@3.22/authentication/connecting-to-github-with-ssh/using-ssh-agent-forwarding)”。

## 使用 GitHub CLI 进行克隆

还可以安装 GitHub CLI 以在终端中使用 GitHub 工作流。 有关详细信息，请参阅“[关于 GitHub CLI](/zh/enterprise-server@3.22/github-cli/github-cli/about-github-cli)”。