LINUX.ORG.RU

git заменить ветку

 


0

1

Была ветка master, потом от нее сделали ветку test, далее работа велась в обоих ветках, сейчас надо ветку master удалить а ветку test поставить как master.
Как это можно сделать? Мне не надо мержить изменения между двумя ветками.


Удали в мастере все комиты до общего с test а потом ee ff merge с test.

urxvt ★★★★★
()

man git-branch для избранных

hizel ★★★★★
()

в мастере

git reset --hard test

но так вообще лучше не делать, т.к. другие потом не смогут сделать нормально pull, придётся всем ресетиться на ориджин/мастер.

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

В этом варианте могут быть коммиты в master, которые ТС посчитает лишним... ну всей истории не знаю, ему виднее :)

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

Тоже вариант, в общем-то :) наверное почти тоже самое делает, только ветка test остаётся.

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

придётся всем ресетиться на ориджин/мастер.

О, спасибо за подсказку.

quiet_readonly ★★★★
()

Добавлю что можно смержить master и test стратегией ours (merge -s ours, не путать merge -s subtree -X ours). Тогда, с одной стороны, изменения в master будут отброшены (но в истории останутся), с другой - тем кто сидел на master не надо будет делать reset.

git checkout test && git merge -s ours master && git checkout master && git reset (или merge что в данном случае то же самое) test && git br -d test

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