从磁盘上删除文件,但保留Git clone目录;存档本地回购 用户故事
假设我克隆了一个项目并推动了我的工作,现在我已经完成了。我想我可能需要返回到它,所以我想在本地保留克隆以快速切换回来,但也有可能我做得很好,所以我想从磁盘转储文件 问题: 有可能这样做吗?为了“归档”本地repo,所以我只保留目录和从磁盘上删除文件,但保留Git clone目录;存档本地回购 用户故事,git,archive,git-clone,Git,Archive,Git Clone,假设我克隆了一个项目并推动了我的工作,现在我已经完成了。我想我可能需要返回到它,所以我想在本地保留克隆以快速切换回来,但也有可能我做得很好,所以我想从磁盘转储文件 问题: 有可能这样做吗?为了“归档”本地repo,所以我只保留目录和.gitdir,而git在运行诸如git status之类的命令时理解这种状态 [编辑:]这个问题的主要原因是,我可以懒惰,不必在回去工作时找到要重新克隆的repo URL。这确实不是一个关键的需求,但它可能非常方便。我会用它来代替存档 这将创建一个文件,其中包含完整
.git
dir,而git在运行诸如git status
之类的命令时理解这种状态
[编辑:]这个问题的主要原因是,我可以懒惰,不必在回去工作时找到要重新克隆的repo URL。这确实不是一个关键的需求,但它可能非常方便。我会用它来代替存档 这将创建一个文件,其中包含完整的存储库历史记录:您可以轻松地将其备份到某个位置。
您可以从该文件中克隆回存储库 您可以制作一个脚本,该脚本将:
- 创建一个包
- 并生成第二个脚本,该脚本能够:
- 克隆回那个包
- 使用原始Git存储库“源”URL()更改远程URL
- Git存储库作为一个包
- 从捆绑包中克隆后,能够克隆和恢复远程源URL的(生成的)脚本
您可以从该文件中克隆回存储库 您可以制作一个脚本,该脚本将:
- 创建一个包
- 并生成第二个脚本,该脚本能够:
- 克隆回那个包
- 使用原始Git存储库“源”URL()更改远程URL
- Git存储库作为一个包
- 从捆绑包中克隆后,能够克隆和恢复远程源URL的(生成的)脚本
- (首选)删除文件夹并在需要时再次克隆。无论如何,当你重新开始工作时,你需要拉。存储过时的副本没有多大好处李>
- 保持文件夹的原样李>
- 如果要节省空间,请压缩文件夹李> 以下是一些选项:
- (首选)删除文件夹并在需要时再次克隆。无论如何,当你重新开始工作时,你需要拉。存储过时的副本没有多大好处李>
- 保持文件夹的原样李>
- 如果要节省空间,请压缩文件夹李>
tar/zip似乎是最好的解决方法:- 有效地从IDEs/search/grok中删除文件。磁盘不是一个真正的问题,但这是一个小得多
- 不会丢失源URL,因此解压后,除了拉取任何更新外,无需重新开始工作
这只是一个简单的解决方法。如果您想要的是更像备份的东西,特别是如果计划传输文件,请参阅。tar/zip似乎是最好的解决方法:- 有效地从IDEs/search/grok中删除文件。磁盘不是一个真正的问题,但这是一个小得多
- 不会丢失源URL,因此解压后,除了拉取任何更新外,无需重新开始工作
这只是一个简单的解决方法。如果您想要的是更像备份的东西,特别是如果计划传输文件,请参阅。您可以压缩/tgz/whateverz整个项目目录(使用git repo)并远程访问该目录。。。您可以稍后回来,然后将整个内容展开,就像什么都没有发生一样。如果以后需要,为什么不完全删除它并重新克隆它?@eftshift 0:这似乎是满足用户需求的最佳解决方法need@DanielMann:请参阅我添加的“”位。使用我的方法,您不必“查找要重新克隆的回购URL”您可以压缩/tgz/whateverz整个项目目录(使用git repo)并远程访问该目录。。。您可以稍后回来,然后将整个内容展开,就像什么都没有发生一样。如果以后需要,为什么不完全删除它并重新克隆它?@eftshift 0:这似乎是满足用户需求的最佳解决方法need@DanielMann:请参阅我添加的“”位。使用我的方法,您不必“查找要重新克隆的回购URL”这是tar文件中的裸回购还是类似的?@madpysicast不完全正确:它不会包含tar回购所包含的所有内容。@madpysicast通常情况下,本地钩子不会包含(,)@Rafe您选择了正确的答案。一旦从包中克隆回来,只需将源代码更改回您想要的任何远程URL:
@Rafe gzip不建议使用,因为它需要太多特定于原始计算机的文件/可能包含敏感信息。最好让脚本能够读取远程URL(请参见[git remote set URL originhttps://new/url
]),并生成1/a bundle,2/a能够克隆该bundle的新脚本,要在克隆的repo中重置远程源,请将其重置为第一个脚本读取的URL。这样,您“就不必记住源URL”,按要求。这是tar文件中的裸回购还是类似的?@MadPhysician不完全是:它不会包含tar回购所包含的所有内容。@MadPhysician通常不会包含本地挂钩(,)@Rafe您选择了正确的答案。一旦从包中克隆回来,只需将源代码更改回您想要的任何远程URL:git remote get URL origin
@Rafe gzip不推荐使用,因为它需要太多原始机器特有的文件/可能包含敏感信息。最好有一张纸条无法读取远程URL(请参见[git remote set URL originhttps://new/url
git remote get URL origin
- 以下是一些选项: