我有一个远程git存储库,具有较大的历史记录和较慢的连接通道。现在,一些本地用户在哪里,以及对新用户进行大规模提交或从头开始克隆后缓慢推/拉是大问题。我想创建它的本地镜像。本地更改必须提交到本地回购,并在后台与远程同步。我明白这个问题有需求,但我还没有找到任何解决方案(我不是远程回购的管理员,我只是试图简化本地工作)。Git本地镜像
Git本地镜像
回答
由于您在评论中写道,慢速连接背后的人会完成大部分工作,所以我建议您将慢速远程站点设置为您将承担的本地回购的镜像。
首先进行远程慢的裸露克隆的本地服务器
$ git clone --bare git://slow/repo.git
您当地的人们应该现在只承诺到克隆,而不是远程慢上。
然后设置一个cron作业或类似的本地回购推更改缓慢的网站与
$ git push origin --mirror
使用--mirror
你告诉混帐推所有分支和标签的东西。
谢谢!我测试它为我的测试github回购和它的作品。真正的远程回购的完整克隆需要20个小时或更长时间,并且我在不久的将来使用这个解决方案。 – exbluesbreaker 2012-07-16 12:00:52
我发现,这个解决方案将删除所有的变化,通过本地镜像进行远程回购而无需访问。有什么方法可以合并更改吗?承诺远程回购是罕见的事情,但我不想失去这样的提交。例如。第一次有些本地开发人员可能会继续直接承诺错误地直接进行远程回购。 – exbluesbreaker 2012-07-20 04:30:10
@exbluesbreaker:您可以删除'--mirror',但是您需要指定要推送的分支,例如'git push origin master'。那么你可能也想添加'--tags'来推送推送标签。 '--mirror'会推送所有本地分支和标签,所以它会自动完成所有这些操作(但会覆盖远程更改)。 – 2012-07-20 07:38:57
你应该能够作出浅克隆与
git clone --depth=20 url-to-your-repo some-path
这应该让你无法与大多数的历史打扰。
- 1. Maven本地镜像
- 2. Subversion创建本地镜像
- 3. Git镜像问题
- 4. 如何在本地“镜像”我的git存储库?
- 5. 镜像Git仓库定期
- 6. 如何设置本地CPAN镜像?
- 7. 从本地Dockerfile安装Docker镜像
- 8. 如何制作镜像上游存储库的本地git存储库?
- 9. Python镜像镜像
- 10. 自动镜像git存储库
- 11. svn仓库的只读git镜像
- 12. 将Git Repo直接镜像到AWS CodeCommit
- 13. 将git的主分支镜像到SVN
- 14. 镜像git非裸存储库
- 15. Git挂钩检测推 - 镜像
- 16. 作曲家git克隆 - 镜像失败
- 17. 不同分支的Git镜像
- 18. 绘制镜像文本
- 19. PHP代理/镜像脚本
- 20. 如何在convox中使用本地docker镜像?
- 21. iOS - 如何在本地镜像Web目录? (iCloud Like)
- 22. Docker:Swarm Worker节点没有找到本地构建的镜像
- 23. 从本地镜像构建GCC bbappend配方
- 24. Docker镜像没有部署(保持终止)在本地kubernetes
- 25. Sketch3镜像 - 从端口8080更改本地主机
- 26. 是否可以在kubernetes上部署本地Docker镜像?
- 27. 使用VS-2015镜像将FTP更改为本地代码
- 28. Nomad + Docker:使用本地Docker镜像,避免清理
- 29. stl:地图和镜像数据访问
- 30. 本地分支Git
此前一篇文章将帮助您实现远程回购的镜像http://stackoverflow.com/questions/3959924/whats-the-difference-between-git-clone-mirror-and-git-clone-bare – 2012-07-16 10:35:18
只有你的本地用户承诺慢速远程回购或其他人在其他地方工作吗? – 2012-07-16 10:35:46
@honk是的。本地用户做了99%的工作,远程用户需要只读访问权限(或者非常罕见的提交)。我认为,远程本地后台同步的速度适合远程用户,我认为如果同步尚未结束,他们必须延迟。 – exbluesbreaker 2012-07-16 10:50:05