Git 不同分支的镜子
Git Mirror with Different Branches
我正在研究 Android 源代码,我使用镜像让同步时间更快。
$ mkdir mirror
$ cd mirror
$ repo init branchA --mirror
$ repo sync
然后每次需要同步branchA的时候就可以使用这个镜像
$ repo init branchA --reference=/.../mirror
$ repo sync
但是现在,我有一个问题,我还有其他与branchA相关的分支。例如,branchB 是基于 branchA,而 banchC 是基于 branchB。在这种情况下,我是否需要三个不同的镜像?
如果我只同步branchC的镜像,我可以用这个镜像同步branchA和branchB吗?
如果我只同步branchA的镜像,我可以用这个镜像同步branchB和branchC吗?
你只需要一面镜子。
Repo 的镜像仓库已完全克隆。它们包含从所有分支、标签和其他引用可访问的每个 git 对象。 repo sync
的选项 -c
,仅下载当前 ref 及其对象,在镜像存储库中无效。
即使镜像只有一个分支的数据,您仍然可以将其作为参考来下载其他参考。丢失的refs和objects,在镜像中找不到,将从远程服务器下载。您不会错过工作存储库中的任何内容。
我正在研究 Android 源代码,我使用镜像让同步时间更快。
$ mkdir mirror
$ cd mirror
$ repo init branchA --mirror
$ repo sync
然后每次需要同步branchA的时候就可以使用这个镜像
$ repo init branchA --reference=/.../mirror
$ repo sync
但是现在,我有一个问题,我还有其他与branchA相关的分支。例如,branchB 是基于 branchA,而 banchC 是基于 branchB。在这种情况下,我是否需要三个不同的镜像?
如果我只同步branchC的镜像,我可以用这个镜像同步branchA和branchB吗?
如果我只同步branchA的镜像,我可以用这个镜像同步branchB和branchC吗?
你只需要一面镜子。
Repo 的镜像仓库已完全克隆。它们包含从所有分支、标签和其他引用可访问的每个 git 对象。 repo sync
的选项 -c
,仅下载当前 ref 及其对象,在镜像存储库中无效。
即使镜像只有一个分支的数据,您仍然可以将其作为参考来下载其他参考。丢失的refs和objects,在镜像中找不到,将从远程服务器下载。您不会错过工作存储库中的任何内容。