【问题标题】:how to sync a repo mirror to a new upstream repo如何将 repo 镜像同步到新的上游 repo
【发布时间】:2011-08-30 18:20:33
【问题描述】:

我有一个 repo 镜像服务器 (myrepo),它最初是为了镜像和 与远程(repoA)同步。也就是说,我使用了类似下面的东西来创建它。

cd myrepo
repo init -u git://repoA-server/manifest.git --mirror
repo sync

...然后我修改了清单文件的 fetch 行以使用 myrepo 服务器 所以用户可以从 myrepo 镜像中克隆

所以现在 repoA 已经消失并且不再存在了。它已被替换为新的 位于不同 URL 的 repoB 服务器已经修改了一些分支并使用 这些分支的新清单文件。

如何将 myrepo 镜像与这个新的 repoB 重新同步?我不想吹走 我的 myrepo 并创建一个新镜像。我想保留它的历史 更新一些分支以现在从 repoB 跟踪,并使用新的清单 文件(我将再次修改它以从 myrepo 获取项目)。

我不知道该怎么做?我想知道我是否可以简单地做一些 更改 myrepo,然后运行“repo sync”以使其与新镜像同步 (即为更新分支进行获取/合并)?或者我是否必须克隆 myrepo 做一些事情,比如将 repoB 添加为远程,创建跟踪分支,获取/合并自己, 并尝试将其推向 myrepo?

【问题讨论】:

    标签: android git android-manifest repository mirror


    【解决方案1】:

    继续并更改配置文件中的 url/路径:

    .git/config
    

    那将是最快的方法。尽管您可以使用命令解决每个分支设置。

    另外,请注意,如果您在同步的情况下重新克隆,您不会丢失任何历史记录。你会丢失你的 reflog 和 rr-cache 等等。

    希望这会有所帮助。

    亚当

    【讨论】:

    • 是的。我找到了一个命令“git remote --set-url ”,我可以用它来更改 repoA url。所以我可以进入 myrepo 并更改每个 git 项目的 url。之后我是否只运行“repo sync”来更新镜像?
    • 我进入 git 级别并执行 git fetch。但是,是的,你应该可以。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-03
    • 1970-01-01
    • 1970-01-01
    • 2019-09-20
    • 1970-01-01
    相关资源
    最近更新 更多