LINUX.ORG.RU

Как удалить ветку после merge?

 ,


0

1

У меня было 2 ветки: master и feature. Я вёл их параллельно и потом решил смержить feature-ветку в master-ветку. После успешного мерджа консоль визуально показывала 2 ветки поэтому я решил удалить ветку feature. Удаление прошло успешно, но после этого консоль всё равно показывает две ветки.

Скажите пожалуйста, можно ли как-нибудь избавиться от feature чтобы не загромождать вид? Теоретически возможна ситуация когда придётся вести одновременно 20 feature веток и выглядеть это будет неудобно, если не чистить.

Ниже код, в который поясняет вопрос:

Switched to branch 'master'
md@md ~/.MINT18/code/git/merge $ git hist
*   5a8014e 2021-03-08 | m8 (HEAD -> master) [kalinin]
|\  
| * 4220d18 2021-03-08 | f7 (feature) [kalinin]
| * 93062a3 2021-03-08 | f6 [kalinin]
| * 02efa31 2021-03-08 | f4 [kalinin]
| * 5bde83a 2021-03-08 | f3 [kalinin]
* | b417e0e 2021-03-08 | m5 [kalinin]
|/  
* a3a8961 2021-03-08 | m2 [kalinin]
* ede090f 2021-03-08 | m1 [kalinin]
md@md ~/.MINT18/code/git/merge $ git br -a
  feature
* master
md@md ~/.MINT18/code/git/merge $ git br -D feature 
Deleted branch feature (was 4220d18).
md@md ~/.MINT18/code/git/merge $ git br
* master
md@md ~/.MINT18/code/git/merge $ git hist
*   5a8014e 2021-03-08 | m8 (HEAD -> master) [kalinin]
|\  
| * 4220d18 2021-03-08 | f7 [kalinin]
| * 93062a3 2021-03-08 | f6 [kalinin]
| * 02efa31 2021-03-08 | f4 [kalinin]
| * 5bde83a 2021-03-08 | f3 [kalinin]
* | b417e0e 2021-03-08 | m5 [kalinin]
|/  
* a3a8961 2021-03-08 | m2 [kalinin]
* ede090f 2021-03-08 | m1 [kalinin]


Последнее исправление: prozaik (всего исправлений: 1)

Ответ на: комментарий от prozaik

вопрос, что такое «красиво» в данном случае открытый. у каждого своё представление о красоте. как по мне, всё и так достаточно красиво. в истории навсегда запечатлён тот факт, что данные изменения развивались в отдельной ветке.

сделать всё можно конечно. если ты так хочешь, сделай интерактивный rebase, удали merge-коммит и переставь в нужном порядке остальные коммиты. если изменения не конфликтуют, то всё должно гладко пройти

eternal_sorrow ★★★★★
()
Ответ на: комментарий от prozaik

Тогда ещё можно squash. Но индивидуальные коммиты потеряются.

xaizek ★★★★★
()

Ветка - это то, что имеет свободно висячий конец. cast @DELIRIUM. И где у тебя свободно висячий конец? У тебя два ствола - радуйся. Или тебя не нравится два ствола?

По теме. Ты хочешь удалить историю. Мерж - это тупо накладывание патча с дополнительной информацией, откуда патч. Сохранение истории. Ты мог взять diff и применить (apply) дифф, без сохранения истории откуда патч.

anonymous
()
git branch -d feature // удалили локальную ветку
git push origin :feature // удалили remote ветку
deep-purple ★★★★★
()
Ответ на: комментарий от eternal_sorrow

сделай интерактивный rebase, удали merge-коммит и переставь в нужном порядке остальные коммиты

Тебе уже ничто не поможет.

deep-purple ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.