Подтвердить что ты не робот

Как я могу удалить (или объединить) локальную ветвь Git, в которой я сейчас включен?

Я новичок в использовании git, и я использую его, чтобы внести свой вклад в AOKP Android ROM. Я успешно создал несколько ветвей, изменил код и загрузил коммиты, которые были объединены на удаленном конце. Но в моем локальном хранилище эти ветки все еще появляются (хотя они и не имеют никаких изменений). Проблема в том, что когда я создал эти ветки, я сделал это прямо из подпапки, которую нужно было изменить, поэтому у меня нет никаких "более высоких" ветвей. И из-за этого я не могу удалить эти ветки - git tels me error: Cannot delete the branch 'MyMods' which you are currently on.

Итак, что я могу сделать, чтобы избавиться от этих ветвей?

4b9b3361

Ответ 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