将站点代码保留在git中并在同一存储库中放入核心和贡献的最佳方法是什么?


11

当drupal在CVS中时,我将站点放在git存储库中,然后通过CVS引入核心并做出贡献。这两个系统愉快地并存,我可以跟踪所有更改并制作补丁以贡献模块。现在有了git,我不确定是要下载contrib和core并将其检查到我站点的git仓库中,还是使用子模块?

我想知道是否有任何最佳做法?如果我的仓库使用drupals根目录作为自己的根,如何将核心作为子模块让我感到特别困惑。

Answers:


6

问题与/drupal/260/deploying-drupal-with-git并不完全相同,但我为您提供了相同的答案。

http://freso.dk/zh/2011/02/26/managing_fresodk_from_cvs_in_svn_to_git

我认为让Drupal Core作为真正的签出者会很有用,例如使跟踪黑客更容易。因为有时候,别无选择,是将其更改为.htaccess,还是您对可能直接影响您的错误应用了一些补丁。


我喜欢这种方法。我仍然不确定的唯一事情是如何将回购推到远程?我的意思是说基本结帐是否来自drupal.org?
naxoc 2011年

您可以根据需要拥有任意数量的遥控器。为了简化操作,您可以将drupal远程重命名为drupal(git分支重命名origin drupal),然后添加您自己的作为drupal(git remote添加origin user@example.org:repo.git)。然后,您仍然可以将核心分支(7.x)配置为默认情况下从drupal提取(git branch --set-upstream drupal / 7.x 7.x)
Berdir 2011年

完善。那就是我想要的!
naxoc 2011年

只是一个小的修正git branch rename origin drupal-它应该是git remote rename origin drupal
naxoc 2011年

3

由于您不应该成为核心,因此请反过来:不要将core设为站点的子模块,而是将自定义代码变为core的子模块。克隆核心存储库后,您可以对它进行任何操作,包括向其中添加自己的子模块。

另外,请考虑不为您的站点使用核心git存储库,并使用其他功能(例如drush)将其更新到最新版本。这样,您只需要对contrib模块进行子模块化。除非您为核心做出贡献或做一些尚不完善的工作,这些工作取决于尚未发布的错误修复程序,否则通过VCS获取所有提交的实用程序是最小的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.