2016-08-04 6 views
0

Может быть у меня есть неправильный подход к GitFlow ...Как удалить функцию ответвление от разработки в Git/Bitbucket

Я использую Bitbucket (мерзавец) с GitFlow процесса.

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

Edit: Я пытаюсь объяснить лучше. Я не хочу удалять ветвь функции, я хочу удалить все изменения, внесенные ветвью функций.

Я думаю, что я могу вернуться, если моя ветвь функции - последняя операция. Но если: - я сделал слияние моей особенности ветви на разработку-отрасли - другие особенности слили по разработке Гис

и только после этой операции мне нужно удалить свою первую функцию без потери каких-либо другие возможности, это возможно?

Спасибо, Руджеро

+1

Возможный дубликат [Удалить ветки в Bitbucket] (http://stackoverflow.com/questions/15150671/delete-branches-in-bitbucket) –

ответ

1

В интерпретации ваш вопрос так, что вы хотите, чтобы отменить слияние ваших featurebranch в develop.

Это должно быть возможным с помощью

git checkout develop 
git revert mergecommit -m 1 

Где mergecommit является хэш actuall слияния фиксации (как показано git log).

Существует один нюанс в git help revert:

-m parent-number, --mainline parent-number 
     Usually you cannot revert a merge because you do not know which side of the merge should be considered the 
     mainline. This option specifies the parent number (starting from 1) of the mainline and allows revert to reverse 
     the change relative to the specified parent. 

     Reverting a merge commit declares that you will never want the tree changes brought in by the merge. As a 
     result, later merges will only bring in tree changes introduced by commits that are not ancestors of the 
     previously reverted merge. This may or may not be what you want. 

Итак:

  • Вы должны выяснить, какая сторона слияния вы хотите выбрать. git log, найдите линию Merge: aaaaa bbbbb и выберите -m 1 или -m 2 соответственно.
  • Возможно, вы захотите предоставить опцию -n, чтобы избежать автоматической фиксации, чтобы избежать немного хлопот на случай, если она пойдет не так.
+0

Спасибо! Я отредактировал мой вопрос ... Можно ли удалить, даже если другие функции слились после моего? Спасибо –

+0

Да, это возможно. Он не будет редактировать историю, но вы создадите новый коммит, который практически отменяет изменение. Конечно, у вас может быть или не быть много конфликтов, если вам не повезло. – AnoE