Что происходит в дочерней ветке, если я удаляю родительскую ветвь в git

Я планирую переименовать ветвь в моем репозитории git. Я узнал, что простой способ сделать это - создать новую ветку из этой ветки и дать ей желаемое имя.

После этого я хочу удалить старую ветку (родительский). Но я боюсь, что потеряю данные в своей новой ветке, если я это сделаю.

Что происходит с коммитами, первоначально внесенными в родительскую ветку, если я удаляю эту ветвь?

Ответ 1

Что просходит? ничего такого.

Если вы создаете ветку, где находится другая, вы можете "удалить" эту другую ветку, ничего не потеряв. Ветвь (HEAD) - это просто указатель на коммит.
До тех пор, пока на эти коммиты ссылается ветвь HEAD (или они являются частью предков ветки HEAD), они не теряются.
И даже если на них больше не ссылается ни одна ветка или тег, они все еще находятся в локальном reflog (по умолчанию) в течение 90 дней.

Но, глядя на справочную страницу для git branch, это выглядит проще:

 git branch (-m | -M) [<oldbranch>] <newbranch>

С:

-m
--move

Переместить/переименовать ветку и соответствующий reflog.

-M

Переместить/переименовать ветку, даже если новое имя ветки уже существует.

Ответ 2

Просто используйте git format-patch origin -o {output_folder}.

После получения всех патчей перейдите к мастеру и создайте новую ветку.

Затем примените эти патчи так: git am {output_folder}/{patch_name}.patch.

Затем, проверив, что вы не git Branch -D {name_old_branch} информацию, вы можете удалить старую ветку с помощью git Branch -D {name_old_branch}