Я хочу сохранить коммиты синей ветки и пренебречь розовыми ветвями, поэтому в результате у меня будет одна ветвь, и она должна быть основной ветвью.
синяя ветвь — это «доработка», а розовые ветки (верхняя — «главная», нижняя — «основная»), обе они «не включены в голову», не знаю, что это значит.
Я думаю, что я все испортил, когда делаю «переработку» ветки, я думаю, что мне нужно было просто отменить коммиты обратно к «начальному» коммиту вместо того, чтобы создавать ветку.
У меня нет большого опыта в слиянии, я боюсь, что слияние будет включать изменения из розовых веток, и Я НЕ ХОЧУ, ЧТОБЫ БЫЛО ВКЛЮЧЕНО НИКАКОЕ ИЗМЕНЕНИЕ ИЗ РОЗОВЫХ ВЕТОК.
Просто (принудительно) удалите другие ветки, затем переименуйте свою ветку:
git branch -D master main
git checkout rework
git branch -m main
NB. коммиты ваших «розовых» веток будут недоступны и в основном потеряны. У вас больше не будет доступа к ним обычными средствами.
Это повлияет только на ваш локальный репозиторий. Если ветки уже существуют в удаленном репозитории, имейте в виду, что вы переписали историю своего репозитория. Это могло бы быть плохо, если бы оно было разделено между несколькими разработчиками. Если это нормально, вы можете принудительно отправить состояние локальной ветки в удаленный репозиторий.
Ветки @mrm в Git — это просто ярлыки, которые навешиваются на коммит. Эти ярлыки можно свободно перемещать или переименовывать. Удаление master и main не повлияет на доработку, но сделает несколько коммитов «недоступными». Удаленные репозитории не затрагиваются напрямую, сначала необходимо выполнить синхронизацию через git push
.
если что-то испортится после удаления main и master, я бы отменил это, клонировав репо из github?
Если вы не отправлялись на GitHub, то получение или клонирование с GitHub вернет вам ваши старые ветки, да. Если вы уже (принудительно) отправили на GitHub, то нет.
так что, удалив ветки «мастер» и «основной», затронутые «переделки» не пострадают, верно? также что произойдет, когда я нажму на удаленный репозиторий github?