如何使用Git& amp;在两个存储库之间共享文件到位桶?

时间:2016-06-03 02:00:31

标签: css git bitbucket

我正在构建一个包含2个独立组件的Web应用程序:在用户浏览器中运行的前端(Javascript + Angular)和在我的服务器上运行的后端REST Api(Python / Django)将数据提供给所有前端。这个应用程序的两个部分放在两个单独的Git存储库中,并存储在BitBucket中。

前端向用户显示数据赢得了一个漂亮的界面,其中定义了很多漂亮的CSS。后端向用户发送电子邮件。

我希望电子邮件的外观与前端的显示完全匹配。所有用户的交互都应该具有统一的表示。那么我应该在哪里/如何将CSS放在两个存储库中都可用,但我只需要在一个地方对它进行更改?

如何使用我正在使用的工具执行此操作:Git&到位桶?

3 个答案:

答案 0 :(得分:7)

我认为CSS应该在一个单独的"第三个"完全投射。

特别是因为你甚至可能想要将漂亮的CSS重用于另一个项目,或者将现有的项目分解为更多的存储库。

所以策略是:

  1. 创建第三个存储库,例如project_css
  2. 在两个当前项目中,使用git subtreegit submodule添加对该存储库的引用。
  3. 例如,如果您希望git subtree将第三个项目的文件作为两个现有项目的一部分,那么您可以按照这样的博客/教程进行操作:

    https://developer.atlassian.com/blog/2015/05/the-power-of-git-subtree/

    无论您使用git subtree还是git submodule,都取决于您可以使用的权衡。

答案 1 :(得分:1)

在git pre-commit钩子中写一个脚本,如果更改了css文件,那么脚本可以将更改推送到BitBucket。参见

git help githooks

答案 2 :(得分:1)

您可以通过添加第二个远程存储库将两个存储库合并为一个。

维护起来比较容易。

选择一个存储库,我们将其称为repo1。第一步是在repo1中添加第二个名为repo2的远程存储库。这是你的第二个项目。然后将repo2的分支抓取到repo1。所有分支机构都会愉快地坐下来#34;在一个存储库中。

下一步是将两个项目的主线合并为一个分支。如果文件夹和文件没有发生冲突,那么这将完美无瑕。彼此。在执行此操作之前,您可能需要重命名某些文件夹。

现在两个项目都在一起,可以共享CCS文件。 之后您可以忽略repo2

整个操作在本地存储库中完成。完成后,将所有内容推送到中央服务器,如BitBucket。

这个概念是git存储库只是一个" house"对于分支机构如果那些分支机构不共享共同的祖先,那就没关系了。我们使用这种方法来减少非常紧密地合作的项目的存储库数量。

相关问题