如何手动将 Github 存储库克隆到我的 PC?

How do I manually clone a Github repository to my PC?

我在使用工作流程中的现有工具(Visual Studio Git、Git 扩展),由于 firewall/proxy 规则,我还没有弄清楚。

与此同时,我想在本地手动复制 Github 存储库。我希望有一种方法可以做到这一点,我只是想念(通过 ZIP 下载?)我意识到还有 Git 命令来创建补丁(git-format-patch 和 git-bundle,see this answer),但我在 Github 网站上看不到任何创建它们的方法。当我抓取下载的 .zip 文件时,没有 .git 文件夹 - 也许我不需要那个?

问题:有没有办法在不使用克隆选项的情况下,在本地 PC 上手动复制 Github.com Git 存储库?

我尝试使用 Git 扩展创建一个裸存储库,所以我已经有一个 .git 文件夹 - 我可以将 zip 的内容转储到该文件夹​​中吗?我很担心,因为我想拉入 master 以外的分支,并且我可以在 .git 中看到一些文件 reference master 目前,这也可能不会引用所有分支(尽管这可能无关紧要)。

我认为我需要 git 补丁或捆绑文件,但不确定如何在 Github 上创建它们。我可以从防火墙外的个人 PC 上使用 sneakernet 做到这一点,但应该可以从 Github 下拉 - 对吗?

注意: 我可以访问 Github.com 网站,只是无法通过工具正确完成克隆,可能是因为它们没有登录到我们的身份验证器(即通过SAML/SSO)。我尝试使用 oauth 等,但它不能直接工作。无论如何 - 应该有一种方法可以完成手动克隆,我想了解如何做到这一点。

这类似于我 运行 在管理用于无法连接到网络的机器集群的代码时咨询一家公司的情况。

您总共需要三个存储库:

GitHub Repository
Bare repository on portable media
Destination repository

便携式媒体上的裸存储库将充当您的桥梁

  1. 在移动驱动器或便携式硬盘驱动器上创建裸克隆
  2. 将克隆的存储库带到新位置
  3. 从便携式存储库正常克隆到系统上

要以其他方式推送数据,只需反转过程

  1. 将您的本地更改推送到便携式存储库
  2. 将存储库携带到具有 git 和网络连接的计算机上
  3. 将存储库推回到 GitHub

当您对连接进行排序(或安全要求更改)时,您只需将先前受保护的存储库上的远程更改为直接指向 GitHub。