首页 > 解决方案 > 将 git repo 镜像到新分支

问题描述

我想将我的一个存储库镜像到一个私有存储库中,以进行一些非公开更改,但仍从公共存储库获取更新。普通镜像的问题在于,我每次更新 privat 存储库时,我的更改都会被删除。有没有办法来解决这个问题?

我的想法是让它像这样:

回购 A 是公开的,回购 B 是私有的。我的 privat repo 有分支 main、repoA、我的修复。现在我想将 repo A 镜像到 repo B 分支 repoA 中。

但这也破坏了我一直尝试更新的修复分支。

标签: gitmirrorrepo

解决方案


你不想使用--mirror. 使用该选项是您遇到麻烦的原因。该--mirror选项完全强制您看到和不想要的行为。当您从原始存储库更新时,它会导致您的更改被破坏。仅--mirror当您希望副本与原始副本完全不同(一旦更新)时才使用。

在您的情况下,您希望使用--bare它,因为它将提供您想要的部分行为,--mirror即仅创建底层存储库的副本而没有工作目录。但与--mirror,不同的是,--bare当从原始副本更新副本时,不会导致对副本的未来更改丢失。如果您了解直接“克隆”在没有行为改变标志的情况下做什么,那么您就知道做什么了--bare。该--bare标志仅影响 repo 在磁盘上的形式。它不会改变关于如何在存储库之间应用更新的任何内容。


推荐阅读