压缩 Git 镜像提交

Squash Git Mirror Commits

我想使用 GitLab 私下处理我的存储库,但出于可见性和可访问性目的,在 GitHub 上保留主分支的 public 副本。是否可以 'automate' 镜像 GitHub 和 GitLab 遥控器的主分支,但在 GitLab 中保留提交历史记录,同时使用 GitHub 将提交压缩为单个提交一个(无需记住每次都手动执行此操作)?

这可能是一个有点牵强的要求,但 git 仍然让我惊叹于它的强大和灵活!

除非您谈论的是您正在管理的 GitLab 实例,否则您仍然需要一个 webhook,您 运行 在您自己的服务器上,并且由 GitLab.com 在每次推送。

参见示例 lowzj/gitlab-mirror-webhook(进行调整以执行您想要的操作:git merge --squash 进入专用分支,git 推送到 GitHub )

对于一个简单的镜像(意思是没有挤压步骤),GitLab proposes a mirror feature setting。这比设置 webhook 更容易...但不够灵活。