Как я могу удалить (или объединить) локальную ветвь Git, в которой я сейчас включен?
Я новичок в использовании git, и я использую его, чтобы внести свой вклад в AOKP Android ROM. Я успешно создал несколько ветвей, изменил код и загрузил коммиты, которые были объединены на удаленном конце. Но в моем локальном хранилище эти ветки все еще появляются (хотя они и не имеют никаких изменений). Проблема в том, что когда я создал эти ветки, я сделал это прямо из подпапки, которую нужно было изменить, поэтому у меня нет никаких "более высоких" ветвей. И из-за этого я не могу удалить эти ветки - git tels me error: Cannot delete the branch 'MyMods' which you are currently on.
Итак, что я могу сделать, чтобы избавиться от этих ветвей?
Ответы
Ответ 1
Прежде чем удалять его, выполните проверку другой ветки:
git checkout master
git branch -d MyMods
Кроме того, ветки не имеют ничего общего с папками. Git всегда отслеживает весь репозиторий сразу со всеми его папками и файлами. Разветвление - это не что иное, как указатель на одно коммит или моментальный снимок в истории репозитория.
Ответ 2
Да, просто проверьте другую ветку (возможно, мастер), а затем:
git мастер проверки
git branch -d thebran
Ответ 3
Но в моем локальном репозитории эти ветки все еще появляются (даже хотя они появляются как не имеющие изменений).
Филиалы будут отображаться в вашем локальном репо, если вы не удалите их. Они не исчезают, когда вы их нажимаете.
В ответах выше рассказывается, как удалить ветку. Однако я бы добавил, что использование опции -D немного более мощное. Эта опция удаляет ветвь независимо от ее (un) состояния объединения:
git branch -D branchName
Это атомная бомба удаления ветвей. Используйте с осторожностью.
Ответ 4
Если ветка, которую вы не можете удалить, является рабочей, тогда вам может потребоваться сначала удалить эту рабочую строку:
rm -r MyMods
git worktree list # shows MyMods
git worktree prune
git worktree list # doesn't show MyMods
git branch -d MyMods