В настоящее время я работаю над проектом с использованием git. В принципе, мое мерзавец дерево состоит из трех ветвей:Как справиться с проблемой исправления с git?
- Отделения : Происхождение ветвь, из которой вытекает мою работу.
- Отрасль B: Филиал на основе A. B содержит разработки (новая функция для A).
- Отрасль C: По причинам управления временем я также начал разработку неполных экспериментальных вариантов для новой функции. Этот экспериментальный код был добавлен непосредственно в B. Таким образом, C - это ветвь очистки для B, только сохраняя полностью действующий код.
Ветка отношения могут быть представлены таким образом:
голова ->B ->совершают 0 -> ... ->совершить п ->C ->очистка фиксации
Ветвь B содержит код новой функции, иногда смешанный с дополнительными сегментами, все еще находящимися в разработке. Все фиксации в C - это удаление экспериментальных частей.
Код в отрасли C чистый, и я хочу подделать патч от него. Патч должен включать все изменения от последнего фиксации C до Головка.
Если я сделаю git format-patch master --stdout > my_patch.patch
, это приведет к патчу, который эффективно завершит рабочий код. Но это не нормально, так как в патче добавляется экспериментальный код (через некоторые коммиты в B), а затем удаляется (очистка фиксируется в C). В дополнение к тому, чтобы не быть умным вообще, это также включает бесполезное дополнительное пространство (что означает дополнительную почту для совместного использования патча с сообществом) и дополнительные накладные расходы в приложении.
Как я должен работать на этих ветвях для получения чистого патча? Обратите внимание, что я хочу сохранить экспериментальную работу, сделанную до сих пор в филиале B, я просто хочу не включать его в патч.
Есть ли конкретная причина, по которой вы не используете [cherry-pick] (https://www.kernel.org/pub/software/scm/git/docs/git-cherry-pick.html)? –
@MohamedTarek Вы рекомендуете мне создать новую ветку, происходящую из __A__, а затем вишни - выбрать изменения, применяемые в __B__? Правильно ли я это понимаю? – Rerito
Этот ответ может быть уместным, http://stackoverflow.com/a/1624723/ – Hasturkun