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归档存储库作为一个功能齐全的存储库?的主要内容,如果未能解决你的问题,请参考以下文章