关于远程仓库
远程 URL 是 Git 一种指示“您的代码存储位置”的绝佳方式。 该 URL 可能是您在 GitHub 上的仓库,也可以是另一个用户的复刻,甚至在完全不同的服务器上。
您只能推送到两类 URL 地址:
- HTTPS URL(例如
https://github.com/user/repo.git
) - SSH URL(例如
git@github.com:user/repo.git
)
Git 将远程 URL 与名称相关联,你的默认远程通常名为 origin
。
创建远程仓库
可以使用 git remote add
命令将远程 URL 与名称匹配。
例如,在命令行中输入以下命令:
git remote add origin <REMOTE_URL>
这会将名称 origin
与 REMOTE_URL
相关联。
可以使用命令 git remote set-url
更改远程 URL。
选择远程仓库的 URL
克隆 GitHub.com 上可用的存储库有几种方法。
当您登录到帐户查看仓库时,可以用于将项目克隆到计算机上的 URL 在仓库详细信息下方提供。
有关设置或更改远程 URL 的信息,请参阅“管理远程仓库”。
使用 HTTPS URL 克隆
https://
克隆 URL 在所有存储库上都可用,无论可见性如何。 即使你在防火墙或代理后面,https://
克隆 URL 也有效。
在命令行上使用 HTTPS URL 将 git clone
、git fetch
、git pull
或 git push
执行到远程存储库时,Git 将要求你提供 GitHub 用户名和密码。 当 Git 提示你输入密码时,请输入你的personal access token。 或者,可以使用 Git 凭据管理器等凭据帮助程序。Git 的基于密码的身份验证已被删除,以支持更安全的身份验证方法。有关详细信息,请参阅“管理个人访问令牌”。
如果要访问使用 SAML SSO 的组织,并且使用的是 personal access token (classic),则在进行身份验证之前,还必须授权 personal access token 访问该组织。 有关详细信息,请参阅“关于使用 SAML 单点登录进行身份验证”和“授权用于 SAML 单点登录的个人访问令牌”。
提示:
- 您可以使用凭据小助手,让 Git 在每次与 GitHub 通信时记住您的 GitHub 凭据。 有关详细信息,请参阅“在 Git 中缓存 GitHub 凭据”。
- 要克隆仓库而不在命令行中对 GitHub 进行身份验证,您可以使用 GitHub Desktop 进行克隆。 有关详细信息,请参阅“将仓库从 GitHub 克隆到 GitHub Desktop”。
如果希望使用 SSH,但不能通过端口 22 进行连接,则可通过 HTTPS 端口使用 SSH。 有关详细信息,请参阅“在 HTTPS 端口使用 SSH”。
使用 SSH URL 克隆
SSH URL 通过 SSH(一种安全协议)提供 Git 仓库的访问权限。 若要使用这些 URL,必须在计算机上生成 SSH 密钥对,并将“公共”密钥添加到你在 GitHub.com上的帐户。 有关详细信息,请参阅“通过 SSH 连接到 GitHub”。
使用 SSH URL 将 git clone
、git fetch
、git pull
或 git push
执行到远程存储库时,系统将提示你输入密码,并且必须提供 SSH 密钥密码。 有关详细信息,请参阅“使用 SSH 密钥密码”。
如果要访问使用 SAML 单一登录 (SSO) 的组织,在进行身份验证之前,还必须授权 SSH 密钥以访问组织。 有关详细信息,请参阅 GitHub Enterprise Cloud 文档中的“关于使用 SAML 单点登录进行身份验证”和“授权用于 SAML 单点登录的 SSH 密钥”。
提示:可以使用 SSH URL 将存储库克隆到计算机,或作为将代码部署到生产服务器的安全方法。 您还可以将 SSH 代理转发与部署脚本一起使用,以避免管理服务器上的密钥。 有关详细信息,请参阅“使用 SSH 代理转发”。
使用 GitHub CLI 克隆
您还可以安装 GitHub CLI 以在终端中使用 GitHub 工作流程。 有关详细信息,请参阅“关于 GitHub CLI”。
使用 Subversion 克隆
注意:将于 2024 年 1 月 8 日从 GitHub 中删除 Subversion 支持。 2024 年 1 月 8 日之后的 GitHub Enterprise Server 未来版本也将取消 Subversion 支持。 若要详细了解此内容,请参阅 GitHub 博客。
还可以使用 Subversion 客户端访问 GitHub 上的任何存储库。 Subversion 提供不同于 Git 的功能集。 有关详细信息,请参阅“Subversion 和 Git 有哪些区别?”。
您也可以从 Subversion 客户端访问 GitHub 上的仓库。 有关详细信息,请参阅“Subversion 客户端支持”。