【发布时间】:2015-02-21 12:12:57
【问题描述】:
我想维护几个分支的浅层、镜像、裸克隆。我将从本地克隆到不同的项目分支。例如
+------------------------------------------------------------------+
| repo1: server1:original-repo.git branches: A, B, C, D, E |
+------------------------------------------------------------------+
↓
+------------------------------------------------------------------+
| repo2: server2:shallow-bare-selective-clone branches: A, B only |
+------------------------------------------------------------------+
↓ ↓
+-------------------------------+ +--------------------------------+
| repo3: server2:clone repo2, A | | repo4: server2:clone repo2, B |
+-------------------------------+ +--------------------------------+
所以我可以像这样制作 repo2
git clone --bare --mirror --depth 1 server1:repo1 repo2
cd repo2
git fetch --depth 200 origin A
git fetch --depth 200 origin B
然后我认为 repo3 和 4 真的很简单——他们可以从 repo2 中克隆他们想要的所有内容,它们会受到 repo2 的浅薄限制。
但是在保持 repo2 的浅薄性的同时保持 repo2 的最新状态是我一直坚持的(理想情况下,我想保持自某个提交以来的所有内容,但我知道这是不可能的)。看来我每次都必须执行多个 git fetch 命令,对吗?有没有办法在配置文件中弹出它,这样我就可以做git fetch 并且它知道我的意思?
【问题讨论】:
标签: git shallow-clone