如何在不下载整个存储库的情况下 "pull" 一个 git 数据库

How can I "pull" a git database without downloading the whole repository

我有一个大型项目(有一些更改)的 内容,但没有 Git 数据库。人们可能会遇到同样的情况,例如:

  1. git clone <...>/repo.git
  2. cd repo
  3. echo "Blah" > new_file.txt
  4. rm .git

因为我的仓库很大而且所有的项目文件都还在,我不想重新克隆所有的东西。我怎样才能回到正常情况,在那里我可以提交并推送我的 new_file.txt?

我尝试在此处搜索一般性问题和其他问题,但似乎没有针对这种特定情况提供答案。

有一个包含数据库的 .git 文件夹。您可以将其压缩成 zip 文件,下载并复制到您的文件夹中。所以,步骤:

  1. 导航到存储库中的文件夹
  2. 压缩 .git 文件夹
  3. 下载它
  4. 将其解压缩到您的文件夹中
  1. 使用 git clone --no-checkout 将存储库克隆到另一个目录,比如 dir
  2. dir/.git 复制到您的存储库。
  3. 转到您的存储库并 运行 git reset