1

这可能有点不寻常,但假设我有一个git存储库 A:

A/project1/...   
A/project2/...   
A/project3/...

并将此存储库克隆到 B:

B/project1/...   
B/project2/...   
B/project3/...

我想要做的是以某种方式将项目文件夹及其内容拆分为单独的单元。单元是分支存储库还是其他什么都没有关系,重要的是我需要能够有效地从上游存储库 A 获取更改,并在 B 的单元中进行跟踪。

为什么?

我想使用 Jenkins,并且仅在项目包含更改时才构建项目,并且 Jenkins 支持单个存储库或分支。但是,我不能更改原始存储库 A。当然也非常欢迎替代解决方案。

4

1 回答 1

1

稀疏结帐在这里可能会有所帮助。

  1. 您需要克隆存储库 A。
  2. 然后,您必须配置稀疏结帐(克隆后):
    • git config core.sparsecheckout true
    • echo project1/ > .git/info/sparse-checkout
  3. 然后你需要打电话git read-tree -m -u HEAD

笔记

然而,稀疏结账并不是真正独立的。让我们说你只想要project1. project2由您或您的案例引入的更改project3将表明您的稀疏结帐已更改。

参考

于 2013-06-07T21:40:28.483 回答