2016-12-28 3 views
1

Мне нужна помощь с Git. Итак, у нас есть среда Dev и Test. разработчики берут на себя использование git для ветви «разработки», которая затем переносится в тестовую среду, где внутренние заинтересованные стороны будут рассматривать изменения. Теперь проблема заключается в том, что, скажем, у команды dev было 10 коммитов, которые передаются в Test env, где заинтересованные стороны решили, что 8 из них в порядке, что в конечном итоге будет перенесено на Prod. Остальные 2 должны быть отброшены из Test env. Те отброшенные коммиты будут использоваться когда-то позже, как усовершенствования, и поэтому они могут остаться в Dev env. пока они не будут использованы.удалить git удаленная ветвь фиксация

Есть ли способ сделать это? Нужно ли использовать git rebase или что-то в этом роде? Извините, если мой вопрос звучит слишком расплывчато.

+0

Если изменения в ветке 'develop' опубликованном в среде «Тест», из какой ветви вы публикуете в среду «Dev»? –

+2

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

ответ

0

Вы можете использовать вишневый выбор для выбора совершить сливаться на разработчике

+0

cherry pick работал для меня, спасибо –

0

Да, вы можете сделать просто interactive rebase.

$ git log    # copy the commit-hash before of the commit want to discard 
$ git rebase -i <commit-hash> 

Редактор откроется со списком данных commit messase. Затем просто напишите # (комментарий) перед commit-hash, который вы хотите отменить.

0
  1. От ветви dev, вам необходимо сбросить эти 2 отброшенных коммитов.
  2. создать новый филиал на основе dev с именем back_commits. Поскольку это из ветви dev, вам нужно иметь эти две отброшенные коммиты, если когда-нибудь вам понадобится использовать эти коммиты, просто выберите их в любую ветку, в которой вы хотите их, в
Смежные вопросы