我如何重命名尚未被推到远程仓库的本地分支 ?
相关:
重命名本地和远程 Git 仓库的主分支 ?
我如何重命名尚未被推到远程仓库的本地分支 ?
相关:
重命名本地和远程 Git 仓库的主分支 ?
当前回答
重命名本地分支 : git 分支 -m <old_branch_name_name> <new_branch_name> 按下新分支 : git 推 -- set- 上流来源 < new_ branch_ name>
其他回答
1. 重命名
如果是您的当前分支, 只需做
git branch -m new_name
如果它是另一个分支, 您想要重命名
git branch -m old_name new_name
2. 跟踪一个新的远程分支
- 如果您的分支被推动, 那么在重新命名后, 您需要从远程 Git 仓库删除它, 并要求您的新本地端跟踪新的远程分支 :
git push origin :old_name
git push --set-upstream origin new_name
所有你必须做的是三步:
在.git/refs/head 下给旧分支以.git/refs/head 下的新名称 给旧分支以.git/log/refs/head 下的新名称 更新 .git/HEAD 以导致您的新分支名称 。
以下是重新命名分支的步骤 :
切换到需要重命名为 git 分支的分支 -m < new_ name> git 推力源 : <old_ name> git 推力源 < new_ name>:refs/heads/ < new_ name>
EDIT (12/01/2017): 确保您运行命令 Git 状态, 并检查新建的分支指向的是它自己的参考文献, 而不是旧的参考文献。 如果您发现旧的分支的引用, 您需要解开对上游的设置 :
git branch --unset-upstream
使用此命令重命名分支 :
git branch -m [old_branch_name] [new_branch_name]
- m: 它重命名/ 移动分支。 如果已经有一个分支, 您将会出错 。
如果已经有一个分支, 您想要用该分支重命名, 请使用 :
git rename -M [old_branch_name] [new_branch_name]
有关帮助的更多信息,请在终端中使用此命令 :
git branch --help
或
man git branch
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$