从远程git服务器同步远程分支

时间:2013-11-04 04:04:31

标签: android git repository

我已将所有android存储库镜像到我的本地存储库中,但是在新版本发布时,我发现很难从上游更新。

以下是详细信息:

在我镜像android源代码后,我的修改是在我自己的分支机构my-jb-mr1上的私有服务器上。 my-jb-mr1从aosp jb-mr1分支。

  • ...
  • JB-MR1
  • MY-JB-MR1

现在kitkat是在aosp上发布的,我发现我不知道如何更新我的私人服务器来跟踪aosp。我的想法是

  1. 将aosp master合并到我的本地存储库master,然后将其推送到我的私有服务器
  2. 根据aosp
  3. 上的分支节点分支代码

    但这似乎不起作用。因为我想跟踪的aosp上的分支是kitkat-dev和kitkat-release。 aosp上的主分支不包括目标分支中的所有提交。

    我想要的是从aosp同步。同步后,存储库就像:

    • ...
    • JB-MR1
    • 奇巧-dev的
    • 奇巧释放
    • MY-JB-MR1

    kitkat-release和kitkat-dev应与aosp上的分支完全相同。

    任何人都能给我一些提示如何处理这种情况吗?

1 个答案:

答案 0 :(得分:2)

通常,AOSP的主分支将成为最新发布分支的超集,但我现在不确定是不是这样,你的问题似乎证实了这一点。不要指望它一直都是真的,特别是在发布后不是这样。

要将Kitkat分支机构推送到您的服务器,请先从AOSP服务器同步工作区:

repo init --mirror -u https://android.googlesource.com/platform/manifest -b kitkat-dev

通常我建议同步镜像清单,如文档的Using a local mirror部分所述,但是现在镜像清单不包含Kitkat中添加的所有gits。我希望它们很快就会被添加。

同步完成后,进入工作区并将新分支推送到服务器:

repo forall -c 'git push ssh://yourserver.example.com/$REPO_PROJECT aosp/kitkat-dev:refs/heads/kitkat-dev aosp/kitkat-release:refs/heads/kitkat-release

您还可以使用通配符将所有 AOSP分支推送到您的服务器:

repo forall -c 'git push ssh://yourserver.example.com/$REPO_PROJECT aosp/*:refs/heads/*
相关问题