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

相关:


当前回答

Git 分支重命名可以使用 :

  1. git branch -m oldBranch newBranch

  2. git branch -M oldBranch ExistingBranch

和(或)- 中 - 中- MM,MM,MM,MM,MM,M:

- 毫米:如果您试图用现有的分支名称重命名您的分支- 中 - 中。它会引出一个错误,表示分支已经存在。您需要给出独有的名称。

但是,

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

这儿有一个吉特终点的例子,

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$

其他回答

如果您不想将分支推到远程服务器, 这个示例将很有用 :

假设你有一个现有的分支 叫做"我的热能特长" 你想把它改名为"特长15"

首先,你想改变你的地方分支。

git branch -m my-hot-feature feature-15

更多信息,请访问地方和远程重命名Git的一个分支.

如果您想要:

  • 重命名 Git 仓库, 运行 :git branch -m <oldname> <newname>
  • 删除旧分支 :git push origin: old-name new-name
  • 提交使用 :git commit <newname>
    • 并按下使用 :git push origin new_branch_name:master
  • 如果您想要检查状态, 请使用 :git status
  • 如果您想要检查退出, 请使用 :git checkout
  1. 重新命名您的本地分支 。

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

git branch -m new-name

如果在另一分支上:

git branch -m old-name new-name
  1. 删除旧名称远程分支并按下新名称本地分支 。

git push origin :old-name new-name

  1. 重置新命名本地分支的上游分支。 切换到分支, 然后 :

git push origin -u new-name

或者为了快速地做到这一点 你可以使用这三步:

# 本地重命名分支

git branch -m old_branch new_branch  

# 删除旧的远程分支

git push origin :old_branch  

# 推动新分支, 设置本地分支以跟踪新远程

git push --set-upstream origin new_branch   

参考:https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html

另一个选项是根本不使用命令行。 Git GUI 客户端,例如源树树导致像这个这样的问题 成为Stack overflow最受关注的问题之一。

在 SourceTree 中,右键单击左侧“ Branches” 窗格中的任何本地分支并选择“ 重命名... ” 。

到目前为止,答案是正确的,但以下是一些补充信息:

人们可以安全地将分支名称重新命名为 '-m' (move) , 但必须小心使用 '- M' , 因为它迫使重命名, 即使已经有一个已有的分支名称相同 。 以下是“ gitt- branch” man page的节录 :

采用-m或-m或-M选项,<oldbranch>将重新命名为<newbranch>。如果<oldbranch>具有相应的卷号, 重新命名为匹配<newbranch>,将创建一个重写条目以记住分支重新命名。如果<newbranch>存在, -M 必须用于强制重命名 。