将Git子目录转换为子模块

问题描述 投票:1回答:1

使用Windows进行开发,使用Debian进行服务器和存储库,使用Git Extensions作为Git客户端。

我有以下存储库:

REPO1:

ROOT_OF_SITE1/

REPO2:

ROOT/
    /SITE1/
    /SITE2/
    /SITE3/

SITE2和SITE1共享相同的代码库,只是SITE1前面有一些提交,但是由于路径不同,因此无法从REPO1到REPO2中的SITE1挑选从SITE1提交的提交。

我想解决方案之一是将SITE2子目录转换为Git子模块,因此我可以从SITE1中挑选提交。

但是每次我使用git子模块时,我都在Git Extensions中遇到问题。

不幸的是,Git Extensions Git客户端目前不支持子树。

git git-submodules git-cherry-pick
1个回答
0
投票

我将在SITE1上使用一个仓库,然后使用git subtree拆分其余站点。您可以将您的仓库划分为不同的分支,并用干净的树来组织几个模块:

git subtree split --prefix=site2 -b site2

检查this post以获取更多信息。然后,您可以重新构建树,留下非常好的git历史记录。

© www.soinside.com 2019 - 2024. All rights reserved.