Вопрос: Как переименовать локальную ветку Git?


Я не хочу переименовывать удаленную ветвь, как описано в Переименовать главную ветвь для локальных и удаленных репозиториев Git ,

Как переименовать локальную ветвь, которая не была перенесена в удаленную ветвь?


6594


источник


Ответы:


Если вы хотите переименовать ветвь, указав ее на любую ветку, выполните следующие действия:

git branch -m <oldname> <newname>

Если вы хотите переименовать текущую ветку, вы можете сделать следующее:

git branch -m <newname>

Способ запомнить это, -mдля «перемещения» (или mv), как вы переименовываете файлы.


10448



git branch -m old_branch_name new_branch_name

Вышеупомянутая команда изменит имя вашей ветки, но вы должны быть очень осторожны с использованием переименованной ветви, потому что она все равно будет ссылаться на связанную с ней ветку восходящего потока, если таковая имеется.

Если вы хотите внести некоторые изменения в мастер после того, как ваша локальная ветка будет переименована в new_branch_name (имя примера):

git push origin new_branch_name:master(теперь изменения перейдут в мастер-ветку, но ваше имя локальной ветви - new_branch_name)

Для получения дополнительной информации см. Раздел " Как переименовать имя локального филиала в Git «.


343



Чтобы переименовать текущую ветку:

git branch -m <newname>

240



Ниже перечислены шаги по переименованию ветки:

1. switch to branch which needs to be renamed
2. git branch -m <new_name>
3. git push origin :<old_name>
4. git push origin <new_name>:refs/heads/<new_name>

EDIT (12/01/2017): Убедитесь, что вы выполняете команду git statusи убедитесь, что вновь созданная ветвь указывает на свой собственный реф, а не на более старый. Если вы найдете ссылку на ветку старше, вам необходимо отключить восходящий поток, используя:

git branch --unset-upstream

182



Rename the branch will be useful once your branch is finished. Then new stuff is coming, and you want to develop in the same branch instead of deleting it and create the new one.

From my experience, to rename a local and remote branch in Git you should do the following steps.

Quoting from Multiple States - Rename a local and remote branch in git

1. Rename your local branch

If you are on the branch you want to rename:

git branch -m new-name

If you are on a different branch:

git branch -m old-name new-name

2. Delete the old-name remote branch and push the new-name local branch

git push origin :old-name new-name

3. Reset the upstream branch for the new-name local branch

git push origin -u new-name

118



The answers so far have been correct but here is some additional info: One can rename a branch with '-m' (move), but one has to be careful, because '-M' forces the rename, even if there is an existing branch with the same name already. Here is the excerpt from the 'git-branch' man page:

With a -m or -M option, <oldbranch> will be renamed to <newbranch>. If <oldbranch> had a corresponding reflog, it is renamed to match <newbranch>, and a reflog entry is created to remember the branch renaming. If <newbranch> exists, -M must be used to force the rename to happen.


80



1. Rename

If it is your current branch, just do

git branch -m new_name

If it is another branch you want to rename

git branch -m old_name new_name

2. Track a new remote branch

- If your branch was pushed, then after renaming you need to delete it from the remote Git repository and ask your new local to track a new remote branch:

git push origin :old_name
git push --set-upstream origin new_name

65



I foolishly named a branch starting with a hyphen, and then checked out master. I didn't want to delete my branch, I had work in it.

Neither of these worked:

git checkout -dumb-name

git checkout -- -dumb-name

"s, 's and \s didn't help either. git branch -m doesn't work.

Here's how I finally fixed it. Go into your working copy's .git/refs/heads, find the filename "-dumb-name", get the hash of the branch. Then this will check it out, make a new branch with a sane name, and delete the old one.

git checkout {hash}
git checkout -b brilliant-name
git branch -d -- -dumb-name

56



To rename a branch locally:

git branch -m [old-branch] [new-branch]

Now you'll have to propagate these changes on your remote server as well.

To push changes of the deleted old branch:

git push origin :[old-branch]

To push changes of creation of new branch:

git push origin [new-branch]

54



Rename the branch using this command:

git branch -m [old_branch_name] [new_branch_name]

-m: It renames/moves the branch. If there is already a branch, you will get an error.

If there is already a branch and you want to rename with that branch, use:

 git rename -M [old_branch_name] [new_branch_name]

For more information about help, use this command in the terminal:

git branch --help

or

man git branch

27