2013-02-09 3 views
0

Я относительно новичок в github (я подтолкнул приложение rails к репо, и я регулярно его подталкиваю, чтобы он обновлялся с сообщением «commit», что очень удобно, чтобы увидеть, где Я), и я просто хочу проверить, что я собираюсь сделать следующий этап правильно, не испортив все это.github разветвление и слияние

Некоторая история: несколько месяцев назад компания по разработке программного обеспечения отправила мне исходный код проекта, который я им поручил. Он называется Project_v_1. В течение нескольких месяцев я делал изменения css/javascript/html - модели и контроллеры не для меня еще!

Но я проделал значительную работу и, как я уже сказал, регулярно обновляю ее. Project_v_1 - это главный филиал (фактически единственный филиал в репо)

Теперь я собираюсь получить Project_v_2 от компании-производителя программного обеспечения. Я хочу внести все мои изменения в Project_v_1 в Project_v_2. Нужно ли вручную искать изменения в файлах, которые я сделал, и скопировать/вставить их в P_v_2?

Или я могу сделать что-то вроде:

  • создать новую ветку в моем репо: P_v_2
  • поставил P_v_2 в этой отрасли.
  • merge P_v_2 и мой мастер (P_v_1).

Am I scr ** ed? Мне просто кажется чудом подумать, что есть простая резолюция по моей проблеме.

Спасибо, C

+0

Там нет простого разрешения. Ошибка заключалась в том, чтобы вы и компания программного обеспечения работали каждый в своем углу, не синхронизировавшись друг с другом. Вы должны были бы обменяться репо и работать на одном и том же репо, что позволит регулярно менять изменения. Вы можете попробовать изменить ваши изменения в новой версии, но у вас, вероятно, будет много конфликтов. –

ответ

0

git merge сольется каждая фиксация в v1 к v2. Я предлагаю вам использовать cherry-pick которое полезно применять то же фиксации между ветвями:

  1. Извлекает v2 ветви и git cherry-pick <your-best-commit-id>
Смежные вопросы