是git子模块我需要什么?

时间:2013-08-26 04:28:46

标签: git repository git-submodules git-subtree atlassian-sourcetree

我有两个网站的两个存储库,但这两个网站共享相同的框架。

我想为框架本身建立一个专用的存储库,但我不确定它是如何工作的。

我目前所做的是我在website1中开发框架,然后在每次添加新功能时将其复制到website2。你可以看到它不是很有效......

我想要一个单独的框架存储库,但我仍然需要它在两个网站之一,所以我可以继续努力。 最重要的部分是我需要能够以简单的方式将其部署到其他网站

对我来说最好的解决方案是什么?如何实现这一目标?

PS:我在过去的几个月中使用SourceTree和Bitbucket进行了密集的退出,所以我对git非常熟悉,但我从未使用过命令行。

2 个答案:

答案 0 :(得分:2)

只要您的框架仅限于您网站的子目录,那么您可以将您的框架视为您的网站仓库的子模块,该子模块充当“父”仓库。

SourceTree支持子模块(自1.3起),如果您的框架是在自己的仓库中管理的,则可以将其添加到您的网站仓库中。 请参阅“Using submodules and subrepositories

add submodule in SourceTree

答案 1 :(得分:0)

由于您没有提到您正在使用的语言和框架,在一般用例中,建议为您的框架创建git仓库并将其用作两个项目的子模块。

节省时间“复制粘贴”并保持框架的提交远离特定于站点的提交,这样您的提交日志就会更清晰,并且可以允许其他人为您的框架做出贡献,并可能允许开源框架。< / p>