赞
踩
当您在具有多个功能的任何大型项目上进行协作时,可能会出现这种情况,您可能正在使用存储库中的许多分支。您可以为您的分支指定任何名称,但假设您创建了一个新分支,将分支的更改推送到远程 git 存储库,然后意识到您的分支名称不正确,应该更改。现在,你想重命名你的分支,幸运的是,你可以使用 git rename branch 命令轻松做到这一点。本文将重点学习如何 git 重命名本地和远程 git 分支。
在了解如何使用 git rename branch 之前,我们将了解 git 中的分支到底是什么,以及在存储库中拥有不同分支的需求是什么。
分支是 git 中的一个概念,它允许您偏离主分支并继续以隔离的方式工作,而不会弄乱主分支。在 git 中,每个分支都是任何存储库的一个版本,或者您可以将其称为独立的开发线,任何存储库都可以有尽可能多的分支,每个分支都有不同版本的存储库。
分支在许多方面都很有用,首先,您可以以隔离的方式处理任何特定功能,而不会干扰主分支上的工作,这样也可以促进错误修复的开发,并且错误会更少,因为维护一部分工作比让大型分支拥有所有代码更容易。
分支还有助于维护代码库的稳定性。要在 git 中创建分支,我们可以使用以下命令:
git branch <new_branch_name>
当您想要开发新功能时,可以使用命令 git branch new_branch_name 创建一个与主分支不同的新分支。
如果要显示存储库中的分支总数,可以使用以下命令:
git branch
上面的命令将显示存储库中的所有本地分支,以及当前所在分支名称前面标记的 * 符号。
当你在分支上工作时,你可以为 git 分支定义一个命名约定。我们将看到一些命名分支的最佳实践,这些实践将帮助我们为分支提供信息丰富且重要的名称:
分支名称应以类别词开头。例如:如果分支保存了错误修复的更改,那么我们可以用“错误修复”开始分支名称,或者如果我们正在开发任何功能,那么我们可以使用单词“feature”开始分支名称。这将有助于识别特定分支所从事的工作类别。
分支名称中的多个单词应使用连字符、下划线或斜杠分隔符分隔。这将有助于提高可读性,并使名称更易于管理。
避免使用仅包含数字的分支名称。这将对分支机构所持有的变革的意义造成更多的混淆。
应避免使用长分支名称。名称应内容丰富且简短。
在 Git 分支中使用作者的名字也被认为是一个好习惯,因为它将帮助其他开发人员跟踪工作,并且很容易联系作者以获取进一步的需求和补充。
但是考虑一下您在分支中输入了错误名称并想要重命名它的情况,然后 git 允许我们使用不同的 git branch 命令执行该操作。Git 还为我们提供了通过略微不同的 git rename 分支命令更改远程 git 分支名称的选项。在接下来的文章中,我们将看到在 git 中重命名分支的命令和示例。
git 中有两种不同的方法可以更改 git 存储库中本地分支的名称。我们将在示例的帮助下了解这些方法中的每一种。考虑到我们处于一个拥有 9 个分支机构的testing_folder,我们正处于old_branch。
现在,假设我们想将这个old_branch分支重命名为 new_branch。
方法 1
重命名本地分支的第一种方法是使用 -m 标志和 git branch 命令来更改分支的名称。该命令的语法为:
git branch -m <new_branch_name>
在上面的示例中,将分支的名称从 old_branch 更改为 new_branch。我们将使用:
git branch -m new_branch
如上图所示,该分支已成功重命名为 new_branch。使用此方法,您需要在重命名之前确保自己位于要重命名的分支上。就像这个例子一样,我们想重命名old_branch,所以我们在old_branch分支。这将有助于 git branch -m <new_branch_name> 命令跟踪要重命名的分支的旧名称。如果您已经不在旧分支上,则首先需要使用 git checkout old_branch 签出到该分支,然后可以运行上述命令将其重命名为 new_branch。
方法 2
此方法是对上述方法的轻微修改。假设您在 master 分支上,现在想要将 testing_branch 分支重命名为 testing_branch_3。因此,正如我们所看到的,应用上述方法,我们首先需要签出/切换到要重命名的分支。然后你可以使用上面的 git branch -m <new_branch_name> 命令重命名它。但是,第二种方法会重命名分支,即使您位于其他分支上也是如此。看起来不是很好看吗???是的,它是。
您可以保留在任何分支上,并可以使用上述语法的这种细微变化来重命名分支。
git branch -m <old_branch_name> <new_branch_name>
在我们的示例中,我们将只停留在 master 分支上,我们将输入以下内容:
git branch -m testing_branch testing_branch_3
这会将testing_branch重命名为 testing_branch_3。要检查新的分支名称,您可以运行 git branch 命令,该命令将列出您的所有分支。
从上图中可以看出,分支名称已更改为 testing_branch_3。
这是在 Git 中重命名本地分支的两种方法。一种是使用命令 git branch -m <new-branch-name>重命名分支,另一种是当您想要重命名本地 Git 分支而不使用此命令 git branch -m <branch-name> <new-branch-name> 签出分支时使用。
如果要重命名的分支已推送到远程分支,则无法像对本地分支那样直接重命名远程分支。在这里,您必须删除旧的远程分支名称,并将新的分支名称推送到远程存储库。
为此,首先您需要按照前面的方法使用 -m 选项重命名本地分支。做完这些之后,我们可以推送本地分支的<new_branch_name>名称,并使用以下命令重置上游分支:
git push origin -u <new_branch_name>
这将有助于重置和推送新本地分支的上游分支。
然后,您可以使用以下命令简单地删除远程分支的旧名称:
git push origin --delete <old_branch_name>
就是这样。您已成功重命名远程 Git 分支。
要更改 Github 上的分支名称,您可以转到 GitHub.com 上存储库的主页。然后,您可以单击“分支”按钮,如下图所示,它将显示存储库中的分支列表。
在分支列表中,您可以单击要重命名的分支右侧的编辑选项。
它将允许您为该特定分支键入新名称,如图所示。
就是这样,您可以查看环境信息,然后单击“重命名分支”按钮。
- 分支是 git 中的一个概念,它允许您偏离主分支并继续以隔离的方式工作,而不会弄乱主分支。
- 每个分支都是任何存储库的一个版本,或者您可以将其称为独立的开发线,任何存储库都可以有尽可能多的分支,每个分支都有不同版本的存储库。
- 在存储库中从一个分支转到另一个分支的操作称为分支切换。此操作在 Git 中也称为“签出”。
- git branch <new_branch_name> 命令用于在本地存储库中创建新分支。
- git branch 命令用于列出存储库中的所有分支,以及当前分支前面标记的 * 符号。
- 在命名分支时,您应该遵循一些最佳实践,例如避免使用长名称、以类别词开头分支或在分支名称中不同词之间使用分隔符。
- 根据用例,我们看到了 git rename branch 的不同方法。
- 要在要重命名的分支上重命名本地分支,则可以使用 git branch -m <new_branch_name> 命令。
- 如果您在其他分支上,要重命名本地分支,则可以使用 git branch -m <old_branch_name> <new_branch_name> 命令。
- 正如我们所看到的,只需要运行一个命令来重命名本地 Git 分支。但是,不能直接重命名远程分支。您应该首先推送重命名的本地分支,并使用旧名称删除远程分支。
- 要重命名远程分支,首先需要重置 <new_branch_name> 本地分支的上游分支,并使用命令 git push origin -u <new_branch_name> 推送它。然后,您可以使用命令 git push origin --delete <old_branch_name> 删除远程分支的<old_branch_name>。
- 要重命名 Github 上的分支,您可以直接转到存储库中的分支列表,并使用分支名称右侧的“编辑”选项编辑要更改的特定分支的名称。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。