与Magento一起使用Git的最佳实践?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (20)

我正在研究如何在我自己的回购中最好地使用自定义代码,同时与供应商的库集成(在本例中是Magento)。在我的例子中,我不需要向供应商推送补丁(尽管这将是一个很好的副作用)。

我研究过git子模块和git子树。我不认为git子模块能满足我的需要。Magento有以下类型的树结构:

/app
  /code
     /community *
     /core
     /local *
  /design
     /adminhtml
     /frontend
        /base
        /yourtheme *
/lib
  /Zend
  /Varien
  /yourlib *
/js
  /yourjs *
  /varien
  /mage

在单独的文件夹中使用Git子模块似乎效果最好(例如/是你的应用程序,/供应商/Magento是子模块)。然而,由于这种程度的相互缠绕,子模块似乎不是一个好的解决方案。我是不是弄错了?

剩下的是git子树。但是对于git子树,相同的核心假设(如名称所暗示的那样,供应商分支是子树)不成立。Magento不是子树,而是我的项目中的核心库。这是对的吗?

如果这两种git方法不起作用,我应该知道的其他方法会做我想要完成的事情吗?

提问于
用户回答回答于
用户回答回答于

你提到的那些方法对我真的很管用:

# Dynamic data that doesn't need to be in the repo
/var/*
/media/*
/downloader/pearlib/cache/*
/downloader/pearlib/download/*
/app/etc/use_cache.ser
local.xml

并使用以下shell命令保留空目录:

for i in $(find . -type d -regex ``./[^.].*'' -empty); do touch $i"/.gitignore"; done;

我想过的另一个想法是尝试一个供应商分支模型,但我担心它会增加额外的麻烦,特别是在一些大型依赖树的情况下,即为了提高实际效率,必须在PEAR级别集成它,即每个下载的模块都必须自动分支,因此,目前看来,只使用付费扩展是很好的。

扫码关注云+社区