1

由于防火墙/代理规则,我还无法理顺我在工作流程中使用现有工具(Visual Studio Git、Git Extensions)访问公共 Github 站点(github.com)时遇到问题。

同时,我想在本地手动复制 Github 存储库。我希望有一种我只是缺少的方法来做到这一点(使用 ZIP 下载?)我意识到还有 Git 命令可以创建补丁(git-format-patch 和 git-bundle,请参阅此答案),但我看不到任何方法可以在 Github 网站上创建它们。当我获取下载的 .zip 文件时,没有 .git 文件夹 - 也许我不需要它?

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

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

我相信我需要 git 补丁或捆绑文件,但不确定如何在 Github 上创建它们。我可以在防火墙外的个人电脑上使用sneakernet,但应该可以从Github上下载——对吧?

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

4

1 回答 1

1

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

您总共需要三个存储库:

GitHub Repository
Bare repository on portable media
Destination repository

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

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

要以另一种方式推送数据,只需反转该过程

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

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

于 2017-09-06T01:38:08.780 回答