我如何重命名尚未被推到远程仓库的本地分支 ?

相关:

重命名本地和远程 Git 仓库的主分支 ?


当前回答

要重命名本地分支 :

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

现在你也必须在远程服务器上传播这些变化。

将已删除的旧分支的更改推到下方 :

git push origin :[old-branch]

推动新分支创建的变更 :

git push origin [new-branch]

其他回答

以下是重新命名分支的步骤 :

切换到需要重命名为 git 分支的分支 -m < new_ name> git 推力源 : <old_ name> git 推力源 < new_ name>:refs/heads/ < new_ name>

EDIT (12/01/2017): 确保您运行命令 Git 状态, 并检查新建的分支指向的是它自己的参考文献, 而不是旧的参考文献。 如果您发现旧的分支的引用, 您需要解开对上游的设置 :

git branch --unset-upstream

Git 分支重命名可以使用 :

git 分支 - m 旧的Branch 新建的Branch Git 分支 - M 旧的Branch 现有Branch

-m和-M之间的差别:

-m:如果您试图用 -m 将分支名称重新命名为您所在的分支名称 -m 。 这将产生错误, 表示分支已经存在。 您需要给出独有的名称 。

但是,

- M: 这将帮助您强制重命名一个指定的名称, 即使它已经存在 。 因此一个现有的分支将完全覆盖它...

以下是Git终端的例子,

mohideen@dev:~/project/myapp/sunithamakeup$ git branch
  master
  master0
  new_master
  test
* test1
mohideen@dev:~/project/myapp/sunithamakeup$ git branch -m test1 test
fatal: A branch named 'test' already exists.
mohideen@dev:~/project/myapp/sunithamakeup$ git branch -M test1 test
mohideen@dev:~/project/myapp/sunithamakeup$ git branch
  master
  master0
  new_master
* test
mohideen@dev:~/project/myapp/sunithamakeup$

一个简单的方法来做到这一点:

git branch -m old_branch new_branch         # Rename branch locally
git push origin :old_branch                 # Delete the old branch
git push --set-upstream origin new_branch   # Push the new branch, set local branch to track the new remote

更多,看看这个。

您的分支完成后, 重新命名分支将会有用 。 然后, 新的东西即将到来, 您想要在同一分支中开发, 而不是删除它, 然后创建新的分支 。

从我的经验来看,为了重新命名基特的一个本地和偏远分支,你应该采取以下步骤。

从多个国家引出 - 在 Git 中重命名本地和远程分支

1. 重新命名您的本地分支

如果您在分支上, 您想要重命名 :

git branch -m new-name

如果在另一分支上:

git branch -m old-name new-name

2. 删除旧名称远程分支,并按下新名称本地分支

git push origin :old-name new-name

3. 重新设置新命名地方分支的上游分支

git push origin -u new-name

之前所有的答案都在谈论 Git 分支- m。 当然,这很容易操作, 但对我来说, 可能很难记住另一个 Git 命令。 所以我试图让我熟悉的指令完成它的工作。 是的,你可能猜到了。

我使用 git 分支 -b <new_branch_name>。 如果您现在不想保存旧分支, 您可以执行 git 分支 -D <old_branch_name> 来删除它 。

我知道这或许有点无聊, 但更容易理解和记住。我希望这对你有益。