Две точки:
Если ваш Git репозиторий находится в нечувствительной к регистру файловой системе (скажем, NTFS с настройками по умолчанию на Windows или HFS [+] на MacOS ), любая попытка переименовать ветвь в другую версию сама по себе потерпит неудачу.
Причина в том, что ("fre sh") ветви в Git хранятся в виде простых файлов с именами из таких файлов является названием ветви, которую они представляют. В файловой системе без учета регистра имена «foo», «FOO» и «FoO» считаются относящимися к одному и тому же файлу, поэтому невозможно создать файл с именем «что угодно», если файл с именем «WHATEVER» уже существует в тот же каталог.
Чтобы принудительно переписать ветвь при использовании команды git branch -m
, вы можете использовать ее версию в верхнем регистре: git branch -M
заменит целевую ветвь, даже если она существует.
Напомним, что самый простой способ переименовать ветку - это отключить ее через какое-то нейтральное имя, которое в настоящее время не занято:
git branch -m temp newfeature
git branch -m newfeature NEWFEATURE
Также обратите внимание что если вас волнует только название ветви, которую вы нажали, вы можете переименовать ее удаленно: команда
git push origin WHATEVER:refs/heads/whatever :refs/heads/WHATEVER
выдаст локальную ветку "WHATEVER" для создания ветви с именем " что угодно «в удаленном репо, известном как« origin », а затем удалите там ветку с именем« WHATEVER ».
При условии, что« WHATEVER »локально содержит ту же историю, что уже была выдвинута в« origin »под тем же именем, команда даже не передаст никаких данных.