2016-05-05 2 views
0

Предположим, у меня есть MASTER10 и DEV ветви, одна со стабильной/выпущенной версией (мастер) кода, другая неустойчивая (dev) с незавершенной незавершенной работой.Есть ли правильный способ удаления git совершает выборочно?

Я начал кодировать тестовый набор, ветвящийся из DEV, который теперь должен быть включен (или «выпущен») в master.

Проблема заключается в том, что какое-то время ветка была обновлена ​​с помощью DEV, и теперь есть объединенные коммиты из других ветвей, которые не должны быть объединены с MASTER.

Коммиты должным образом маркированы, и мы точно знаем, что они собой представляют.

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

вопрос (ы) будет:

Есть предопределенные методологии, чтобы сделать это? И где эта методология изложена, если таковая имеется?

Я могу немного исследовать git, чтобы найти «мой путь», чтобы сделать это безопасно, но это звучит как классический случай чего-то, что может произойти в любом стандартном процессе разработки, и по моему опыту, как правило, уже есть предопределенную методологию, изложенную бывшими (и героическими) разработчиками в их поисках прочной методологии разработки.

Если методология не доступна или не известна, любые советы будут оценены.

+0

Немного больше подробностей и лучшего ответа на вопросы было бы гораздо легче ответить. Учитывая то, как вопрос вставлен прямо сейчас, трудно понять, что вам нужно, с помощью – TheGeorgeous

+0

. Какую часть вы не понимаете? Если вы можете быть более конкретным, я могу расширить детали, или, может быть, привести некоторые примеры. Во всяком случае, теперь я знаю, что я прошу о переустановке и о том, как перебазировать. –

ответ

1

Вы в порядке, изменив историю своей ветки? Если это так, я могу порекомендовать interactive rebase вашего филиала.

git rebase -i <commit_hash> 

Хеш-фиксация - это первая фиксация, которую вы сделали на своей ветке. Вы можете выбрать коммиты, о которых вы заботитесь, и пропустить те, которые вам не нужны (просто удалите строку, если вы не хотите совершать). После интерактивной rebase у вас будет ветвь, содержащая только те коммиты, которые вы хотите объединить в master.

И в дальнейшем будьте осторожны с включением кода в свою ветку, который вы не хотите выпускать с помощью ветки, чтобы избежать дополнительной работы.

Смежные вопросы