У меня есть мастер и ветка разработчика в моем хранилище. Я хочу удалить главную ветку со своего компьютера, чтобы случайно не зафиксировать ее (это случилось ..).
Здесь есть вопросы о том, как удалять ветки локально и удаленно, но я не смог выяснить, как удалить только ветку локально.
Один ответ сказал использовать это:
git branch -d local_branch_name
Но я попробовал это, и ветвь все еще обнаруживается в приложении GitHub.
Deleted branch master (was e8a8e29).
Ответы:
Я думаю (основываясь на ваших комментариях), что понимаю, что вы хотите сделать: вы хотите, чтобы ваша локальная копия хранилища не имела ни обычной локальной ветви
master
, ни ветви удаленного отслеживанияorigin/master
, даже если хранилище, которое вы клонировали, - github - имеет локальную ветку,master
которую вы не хотите удалять из версии github.Вы можете сделать это, удалив ветку удаленного отслеживания локально, но она будет просто возвращаться каждый раз, когда вы попросите ваш git синхронизировать ваш локальный репозиторий с удаленным репозиторием, потому что ваш git спрашивает их git «какие у вас есть ветви» и говорит «у меня есть
master
», так что ваш git (re) создаетorigin/master
для вас, так что ваш репозиторий имеет то, что имеет их.Чтобы удалить ветку удаленного отслеживания локально, используя интерфейс командной строки:
но опять же, он просто вернется на повторную синхронизацию. Это является возможным , чтобы победить это , а также ( с помощью
remote.origin.fetch
манипуляций), но вы , вероятно , лучше просто быть дисциплинированным достаточно , чтобы не создавать или изменятьmaster
локально.источник
Принудительно удалить локальное отделение:
[ ПРИМЕЧАНИЕ ]:
"-D"
опция принудительного удаления.источник
Насколько я понимаю исходную проблему, вы по ошибке добавили коммиты к локальному мастеру и еще не вносили эти изменения. Теперь вы хотите отменить свои изменения и надеетесь удалить свои локальные изменения и создать новую главную ветку из удаленной.
Вы можете просто сбросить свои изменения и перезагрузить мастер с удаленного сервера:
источник
Приложение Github для Windows показывает все удаленные ветви репозитория. Если вы удалили ветку локально с
$ git branch -d [branch_name]
, удаленная ветвь все еще существует в вашем хранилище Github и будет отображаться независимо от приложения Windows Github.Если вы хотите полностью удалить ветку (также и удаленно), используйте вышеуказанную команду в сочетании с
$ git push origin :[name_of_your_new_branch]
. Предупреждение: эта команда стирает все существующие ветки и может привести к потере кода. Будьте осторожны, я не думаю, что это то, что вы пытаетесь сделать.Однако каждый раз, когда вы удаляете изменения локальной ветви, удаленная ветвь все равно будет отображаться в приложении. Если вы не хотите продолжать вносить изменения, просто игнорируйте их и не нажимайте, в противном случае вы можете клонировать репозиторий. Если у вас есть еще вопросы, пожалуйста, дайте мне знать.
источник
вам нужно переключиться на другую ветку и попробовать то же самое.
git branch -d
источник
Судя по вашим тегам, я предполагаю, что вы используете Github. Почему бы не создать некоторые правила защиты веток для вашей основной ветки? Таким образом, даже если вы попытаетесь подтолкнуть к мастеру, он отклонит его.
Я также рекомендовал бы сделать то же самое для вашей ветки разработчика.
источник