使用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客户端目前不支持子树。
我将在SITE1上使用一个仓库,然后使用git subtree
拆分其余站点。您可以将您的仓库划分为不同的分支,并用干净的树来组织几个模块:
git subtree split --prefix=site2 -b site2
检查this post以获取更多信息。然后,您可以重新构建树,留下非常好的git历史记录。