Перебазирование основного репо в git - PullRequest
0 голосов
/ 06 января 2011

У меня есть настроенный форк CodeIgniter, который я использую в качестве стандартного базового уровня для нескольких проектов. Недавно я сделал значительные улучшения в этом репо, которые я хочу использовать для обновления клиентских проектов, которые его используют. Похоже, я не могу понять, как внести изменения в клиентский проект.

Итак, у меня есть:

Baseline:
A--B--C--D--E

Client cloned @ C
C'--D'--E'

И я хочу обновить репозиторий клиента до E из базового проекта.

Я попытался выполнить перебазирование, и оно стерло файлы, отсутствующие в базовом проекте (представления и т. Д.), И создает кучу конфликтов, которые действительно не должны конфликтовать с такими вещами, как шаблон HTML5 по умолчанию, Я использую.

Есть ли опция для rebase, которую я должен использовать? Есть ли другой способ приблизиться к этому? Нужна ли мне куча .gitignores для каталогов контента?

Ответы [ 2 ]

1 голос
/ 06 января 2011

Вы, вероятно, должны начать изучать слияние, а не перебазирование.

0 голосов
/ 08 января 2011

Прежде всего, вы должны думать с точки зрения ветвей, а не репо.Вилка - это просто ветка, полученная из другой ветки.У этих двоих есть общий предок (коммит), и это то, что позволяет вам делать всю прелестную магию мерзавцев.

Если я правильно понимаю, ваша ситуация больше напоминает

(origin/master)
A--B--C--D--E
      \
       \
        \F--G
        (local/master)

хотите иметь коммиты D--E в your local branch, амирит?

Тогда вам нужно либо git rebase origin/master, либо git merge origin/master.

Думайте об этом графически, и это будетнамного проще.

И да, вам определенно стоит прочитать еще о модели ветвления в git:)

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