Поиск:

Ответ в темуСоздание новой темы Создание опроса
> git: изменение файла во всех ветках, способы, Файл должен изменяться во всех текущих ветвях 
:(
    Опции темы
Dem0n13
  Дата 4.11.2011, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 4.12.2009
Где: Россия, Калуга

Репутация: нет
Всего: нет



Здравствуйте!
Есть проект, который содержит несколько ветвей с разными вариантами реализации одной программы. Развиваются все ветви.
помимо проекта есть папка с документацией, причем она у всех одинаковая должна быть. 
Как реализовать изменение файлов документации во всех ветвях, если файл изменился в одной ветке.

Мои домыслы (не уверен, что возможно):
- коммит во все ветви сразу
- коммит вначало/середину главной ветви родителя
- пуш одного коммита во все ветви сразу

Условия:
Документация должна быть в каждой ветви
Ветвей около 30, поэтому желательно найти решение автоматическое, готовое

Google ответа не дал. Заранее  спасибо.
PM MAIL ICQ   Вверх
Dem0n13
Дата 7.11.2011, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 4.12.2009
Где: Россия, Калуга

Репутация: нет
Всего: нет



Несколько дней поисков дали вариант с rebase -i ,правда я еще не понял, то это, или не то

Уточню вопрос:
Код

1-2-3-4-5-6-
       \
        7-8-9-


Надо вставить коммит x сюда:
Код

1-x-2-3-4-5-6-
         \
          7-8-9-

Так, чтобы соответвенно все ветки подхватили это изменение.

Попробовал так:
Код

1-2-3-4-5-6-
       \
        7-8-9-x-

затем rebase -i <тут хэш коммита 1>
И поменял порядок коммитов так, чтобы новый коммит встал на свое место в основную ветвь.
Но что-то получилось не то.

Люди, подскажите, если здесь нет знатоков git, то где их можно поискать?
PM MAIL ICQ   Вверх
Dem0n13
  Дата 13.11.2011, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 4.12.2009
Где: Россия, Калуга

Репутация: нет
Всего: нет



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

Сначала мои поиски привели к предыдущему посту "rebase -i". Да, он может менять порядок следования коммитов, но в главную ветку изменений не внесет.
Можно изощрятся с локальным репозиторием и все-таки получить то, что нужно, а потом залить это все с флагом -f (или -force), но это слишком накладно по времени и потом доставит очень много хлопот тем, кто разрабатывает с тобой.

Далее пришла идея использовать модули (submodule), то есть 2 разных репозитория, но второй оформлен как внешняя ссылка в первом. Все бы хорошо, но при обновлении этого внешнего репозитория ссылка не обновляется автоматом. Да, это сделано специально, но проблема остается. Необходимо обновлять этот модуль а потом пересаживать все ветки на него - опять таки неудобно.

Затем я начал искать как можно делать rebase для поддерева (ветки с набором дочерних), но нашел только готовые скрипты. Стандартными средствами rebase не отслеживает ветки-потомки.

После модулей меня повело в дебри - слияние поддеревьев и прочее, но я решил остановиться, потому что не уверен, что это по моей задаче.

В конечном итоге я нашел самый простой в плане использования мной и другими, и в плане организации способ - 2 полностью независимых репозитория, один с проектом и ветками, а второй чисто под документацию. Никаких слияний не происходит и все есть под рукой в актуальном состоянии, пусть не в одной папке.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
arilou

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание на то, что новые темы, касающиеся новых вопросов, создаются кнопкой "Новая тема", а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих темах, будут удалены.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, arilou.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | УП: Инструменты | Следующая тема »


 




[ Время генерации скрипта: 0.0398 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.