Как переименовать существующую ветку в репозитории Git?
Я хочу, чтобы текущая ветка имела новое имя.
Как переименовать существующую ветку в репозитории Git?
Я хочу, чтобы текущая ветка имела новое имя.
Предполагая, что вы сейчас находитесь в ветке, которую хотите переименовать:
git branch -m newname
Это описано в руководстве для git-branch
, которое вы можете просмотреть с помощью
man git-branch
or
git help branch
В частности, команда
git branch (-m | -M) [<oldbranch>] <newbranch>
где параметры:
<oldbranch>
The name of an existing branch to rename.
<newbranch>
The new name for an existing branch. The same restrictions as for <branchname> apply.
<oldbranch>
является необязательным, если вы хотите переименовать текущую ветку.
git branch -m other-branch renamed-other-branch
, если нет.
- person mipadi; 05.10.2010
git push origin :branchname
. Это позволит вам нажать новый и удалить старый, по сути, переименовав его на пульте дистанционного управления.
- person Jonathan; 07.10.2010
-m
он переименовывает старую ветку, поэтому удаляет предыдущую.
- person Richard Fearn; 03.08.2015
-m
/-M
или без них это должно работать :)
- person Richard Fearn; 03.08.2015
-m
он переименует other-branch
в renamed-other-branch
. Имя other-branch
больше не будет существовать.
- person mipadi; 03.08.2015
Если вы сейчас находитесь в ветке, которую хотите переименовать:
git branch -m new_name
Или еще:
git branch -m old_name new_name
Вы можете проверить с помощью:
git branch -a
Как видите, изменилось только локальное имя. Теперь, чтобы изменить имя также и в удаленном, вы должны сделать:
git push origin :old_name
Это удалит ветку, а затем загрузит ее с новым именем:
git push origin new_name
old_name
. К счастью, git также предоставил исправление в командной строке: git-branch --unset-upstream
. После этого все отправленные коммиты отправлялись в удаленную ветку new_name
.
- person Hans Roerdinkholder; 11.04.2016
git push
, потому что вы получите предупреждение, в котором говорится: Your branch is based on 'old_name, but the upstream is gone.
A git push -u origin new_name
решить его.
- person netalex; 08.02.2019