如何重命名一个尚未推送到远程仓库的本地分支?
相关链接:
- [重命名本地和远程 Git 仓库的主分支](link1) - [如何同时重命名 Git 的本地和远程分支名称?](link2)
相关链接:
- [重命名本地和远程 Git 仓库的主分支](link1) - [如何同时重命名 Git 的本地和远程分支名称?](link2)
如果你不想将分支推送到远程服务器,那么这个例子会很有用:
假设你已经有了一个名为“my-hot-feature”的现有分支,而你想将其重命名为“feature-15”。
首先,你需要更改本地分支。这非常简单:
git branch -m my-hot-feature feature-15
欲了解更多信息,请访问Git中本地和远程分支的重命名。
一个简单的方法:
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版本2.9.2
如果您想更改所处的本地分支名称:
git branch -m new_name
如果您想更改不同分支的名称:
git branch -m old_name new_name
如果您想将不同分支的名称更改为已存在的名称:
git branch -M old_name new_name_that_already_exists
注意:最后一个命令是破坏性的,将重命名你的分支,但你将会失去那个名称和提交记录的旧分支,因为分支名称必须是唯一的。
如果您想要更改当前分支的名称,请运行:
git branch -m [old_branch] [new_branch]
如果你想删除旧的远程分支,运行以下命令:
git push origin :[old_branch]
如果您想删除旧的远程分支并创建新的远程分支,请运行:
git push origin :old_branch new_branch
实际上你需要三步,因为本地分支在服务器上有一个副本,所以我们需要一个本地步骤和两个服务器步骤:
git branch -m <old-branch-name> <new-branch-name>
git push <remote-name[origin by default]> :<old-branch-name>
git push -u <new-branch-name>
使用以下命令可以重命名Git分支:
git branch -m oldBranch newBranch
git branch -M oldBranch ExistingBranch
-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
命令。当然,操作起来很容易,但对于我来说,也许记住另一个 Git 命令有点困难。所以我尝试使用我熟悉的命令完成工作。是的,你可能已经猜到了。git branch -b <new_branch_name>
命令。如果你不想保存旧分支,现在可以执行 git branch -D <old_branch_name>
命令将其删除。