从磁盘中删除文件但保留 Git 克隆目录;存档本地回购

Remove files from disk but keep Git clone directory; archive local repo

用户故事

假设我克隆了一个项目并推送了我的工作,现在我已经完成了它。我希望我可能需要返回到它,所以我想将克隆保留在本地以快速切换回来,但也有可能我永远完成了,所以我想从磁盘转储文件。

问题

这可以吗? "archive" 本地仓库,所以我只保留目录和 .git 目录,当 运行 命令如 git status?

时,git 理解这种状态

[编辑:]这个问题的主要原因是这样我就可以偷懒,而不必在我回去工作时去找回购 URL 来重新克隆。这确实不是一个关键需求,但它可能非常方便。

我会 use git bundle

而不是存档

这将创建 一个 文件,其中包含完整的存储库历史记录:您可以轻松地将其备份到某个地方。
您可以从那个文件克隆您的存储库。

您可以编写一个脚本:

  • 创建捆绑包
  • 并生成第二个脚本能够:
    • 克隆回那个包
    • 将远程 URL 更改为原始 Git 存储库 "origin" URL (git remote get-url origin)

这样,您就有两个文件要备份:

  • Git 存储库作为一个包
  • (生成的)脚本能够克隆 并且 从包中克隆后 URL 恢复远程源

这里有一些选项:

  1. (首选)删除文件夹并在需要时再次克隆。无论如何,当您再次开始工作时,您将需要拉动。存储过时的副本没有太大好处。
  2. 保持文件夹原样。
  3. 如果要保存,请压缩文件夹 space。

tar/zip 似乎是最好的解决方法:

  • 有效地从 IDEs/search/grok 中删除文件。磁盘不是真正的问题,但它要小得多。
  • 不会丢失原点URL,因此解压缩后无需重新开始工作,除了提取任何更新。

Here is a guide randomly yanked from the net.

这只是一个简单的解决方法。如果您正在寻找更像是备份的东西,尤其是如果计划是传输文件,请参阅