Git Workflow, субмодули, репо и филиалы .. ОЙ MY - PullRequest
1 голос
/ 14 февраля 2012

У меня есть проект, основанный на CodeIgniter ..

У меня есть папки конфигурации среды, такие как:

/* this does not get pushed to github, it stays on my development workstation */
/application/config/development
/* this is created from example_changeme, when a new client is created. */
/application/config/production
/* this one is used when creating a new client it houses the "template" of production configs */
/application/config/example_changeme

У меня есть репозиторий ядра для github, который включает в себя все, кроме следующих папок:

/application/config/production
/application/config/development
/application/views
/index.php

У меня есть клиентское репо с филиалами каждого клиента.Эти ветки имеют папки:

/* this is created from example_changeme */
/application/config/production

/application/views
/index.php

на моей рабочей станции. У меня есть структура папок:

/core/
/client/
  ggg/
  sgaz/

Мне нужно внести изменения в core_repo и вытащитьвниз эти изменения в конкретную ветку (или все ветви в клиентском репо).Примером сценария может быть:

Я изменяю код для контроллера в: /application/controllers

В настоящее время: Мне нужно скопировать / вставить или повторно клонироватьcore_repo для каждого из новых сайтов и заново создайте любые изменения, которые у меня были в моих представлениях.

В идеале: Я хотел бы просто использовать форму "update", чтобы получитьвсе же, по сравнению с core_repo , приложения / представления и config / production и index.php остаются в такте.

Как мне поступить таким образом?

1 Ответ

1 голос
/ 15 февраля 2012

Это не легко, но я попробую.

Если я правильно понимаю, вы используете базовую версию своего приложения на нескольких сайтах / проектах. Вы хотите иметь возможность загружать обновления на эти сайты вашей базовой версии, не теряя при этом какие-либо файлы и папки, относящиеся к конкретному проекту, такие как файлы конфигурации.

Хотя то, что вы хотите, немного сложнее, но хороший подход к такой установке - это то, что они предлагают, что они делают в этом уроке. http://nvie.com/posts/a-successful-git-branching-model/

Игнорируйте файлы, которые отличаются для каждого проекта, как вы делаете сейчас. Etc ..

Что касается отправки во все местоположения клиентов, вы можете сделать это, как предложено в этом ответе: Git: нажатие на два репо одной командой

Я не уверен, что это покрывает, если нет, я буду рад вернуться:).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...