Git归档存储库作为一个功能齐全的存储库?

Posted

技术标签:

【中文标题】Git归档存储库作为一个功能齐全的存储库?【英文标题】:Git archived repository as a full functional repository? 【发布时间】:2012-07-20 13:08:10 【问题描述】:

我需要在对文件类型和内容有限制的地方设置一个 git 存储库。当然,这可能会成为同步的痛苦,所以我可以通过归档存储库来克服这个限制。

但是,存档存储库会使存档成为:存档或没有存储库可能性的文件。

我想知道,有没有办法让 git 与存档的存储库交互(比如说,一个 .zip 文件)作为一个功能齐全的存储库,只有区别在于它包含在不同的文件系统结构中?

如果可能的话,我希望能够做这样的事情:

git clone /myRepo /otherlocation/repo.zip
# myRepo is a directory with all the files
# repo.zip is a compressed zip file
# could git treat both as repositories anyway -- any approach?

我希望能够对这个存档执行其他克隆、推送和拉取操作,以便将不同的本地存储库与我拥有的这个受限位置同步。

背景

我需要处理一个项目,但我没有得到任何地方来托管我的存储库。目前,我正在使用我创建的 git 存储库的本地副本,但我希望将其同步到真实服务器中。由于没有给我任何放置代码的地方,我正在考虑使用 Sharepoint 文件夹来保存有关该项目的文档。 Sharepoint 确实限制了我可以发布到它的文件类型,并且我可以设置服务器,以便我可以将其文档库作为 UNC 路径访问。

但是,我可以通过将所有内容归档到 .zip 文件并上传来克服文件类型的限制。我不想每次都手动执行所有这些操作,而是想看看 git(或其他任何东西)是否可以为我解决这些问题。

【问题讨论】:

这可以通过一个提交挂钩来完成,该挂钩在您提交时压缩并上传存储库 - 请参阅 git-scm.com/book/en/Customizing-Git-Git-Hooks 您使用的是什么操作系统?为什么不能使用git archive @WoodrowDouglass 我去看看,谢谢! @BasileStarynkevitch 这不会删除我的历史记录吗?探索你的选择,我发现了我不知道的 git bundle。您是否也建议将其作为一个选项? 必须是本地文件服务器吗?您可以轻松地将您的代码推送到一个免费的私有位存储库。 【参考方案1】:

我会定期(可能每周一次)git bundle 您的本地存储库并将生成的文件放在共享点服务器上的某个位置。我会将每个捆绑包都做成一个完整的存储库,并将最后一对作为备份保留,这样也可以保持简单,而不是使用 git bundle 的增量功能。

【讨论】:

以上是关于Git归档存储库作为一个功能齐全的存储库?的主要内容,如果未能解决你的问题,请参考以下文章

[生产库实战] 采用存储过程对生产线历史表数据进行归档

python实现数据的压缩与归档

美白,磨皮,搞笑图片处理

美白,磨皮,搞笑图片处理

在目标 C 中归档多个对象并将它们作为对象数组取消归档

Git:如何使外部存储库和嵌入式存储库作为通用/独立存储库工作?