Intereting Posts
Как копировать между репозиториями Subversion, сохраняя свойства, но не сохраняя историю Как добавить * .a файлы в репозиторий с помощью svnX? Как обновить запрос на извлечение из разветвленного репо? Использование svn: игнорировать, чтобы игнорировать все, кроме определенных файлов HowTo: правильно синхронизировать ветви TFS с отсутствующими наборами изменений? Какую стратегию svn следует использовать для проекта scrum? Методы обработки частного и публичного хранилища? TortoiseSVN сообщила об ошибке: не удается установить указатель положения в файле Не удалось установить сообщение svn commit в ccnet Контроль доступа SVN только для добавления, а не изменения после добавления в SVN-репо SVN: ветвь и реинтеграция не работают с обновленным сервером Получить исходные файлы с SVN в Jenkins SVN: как обновить структуру глубоких папок? Помогите мне аргументировать, почему средства сборки системы не должны автоматически выполнять проверку SVN Как узнать, когда кто-то совершил проекты в Черепахе

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

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

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

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

Solutions Collecting From Web of "Что происходит в дочерней ветке, если я удаляю родительскую ветку в git"

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

Если вы создаете ветку, где находится другая, вы можете «удалить» эту другую ветку, не теряя ничего. Разветвление (HEAD) – это просто указатель на фиксацию.
Пока эти коммиты ссылаются на ветку HEAD (или являются частью предков HEAD), они не теряются.
И даже если они больше не ссылаются ни на какую ветку или на тег, они по-прежнему находятся в локальном reflog для (по умолчанию) 90 дней.

Но, смотря на страницу man для git branch , это кажется проще:

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

С:

 -m --move 

Переместите / переименуйте ветку и соответствующий рефлог.

 -M 

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

Просто используйте git format-patch:

git format-patch origin -o {output_folder}

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

затем примените эти исправления так: git am {output_folder} / {patch_name} .patch

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