网站搜索

如何在 Git 中重命名分支


摘要:要重命名当前的本地分支,请使用“git branch -m new-name”。要从另一个内部重命名本地分支,请使用“git branch -m old-name new-name”。要重命名远程分支,请使用“git push origin --delete old-name”删除它,然后使用“git push origin -u new-name”推送重命名的本地分支。

分支是 Git 中的一项微不足道的练习。不幸的是,琐碎的任务很少得到应有的重视,并且会发生错误。如果您错误地命名了一个分支,则必须对其进行重命名。以下是如何做到这一点。

为什么分支名称在 Git 中很重要

与经典版本控制系统 (VCS) 中的分支有关的任何事情都是一件大事。它需要对正在添加或合并分支的协调一致的理解,并且所有使用该存储库的人都必须确保他们没有做任何事情——或者忘记做某事——以便操作继续并取得成功。

涉及分支机构的操作通常也非常缓慢。使用分支有一个时间惩罚。 Git 从一开始就被设计成不同的。因为它是一个分布式版本控制系统,所以每个用户在他们的本地机器上都有一个完整存储库的副本。

除非将分支推送到远程存储库,否则在本地计算机上创建分支不会影响任何其他人。在 Git 中,分支操作被设计为既易于使用又能快速完成。 Git 中的分支在计算方面非常便宜。这是本地存储库中的一个微不足道的操作。

事实上,鼓励开发人员进行分支,并且经常进行分支。分支只是您从中受益的 VCS 中的另一个工具。分支在 Git 中并不是什么可怕的东西,它们是它最常用的功能之一。

但熟悉会导致蔑视。或者,至少,对分支机构的随意关注。在 Git 中创建分支可能快速而简单,但您在创建分支时仍然需要集中注意力。很容易输入错误的分支名称,或者输入错误的名称,从而导致分支名称错误。

如果分支要在某个时候被推送到远程存储库,则需要正确拼写。如果不是,当其他人尝试使用它时会造成混淆。

在重命名之前列出 Git 中的分支

检查当前分支名称是什么是很好的第一步。 git branch 命令为我们列出分支。您可以使用此命令查看本地存储库中的分支:

git branch

分支机构已为我们列出。当前分支以绿色突出显示并带有星号。

要查看分支及其提交,您可以使用 show-branch 命令。

git show-branch

您可以通过包含 -r(远程)选项来查看远程存储库上的分支。

git branch -r

要使用一个命令查看本地和远程分支,请使用 -a(全部)选项。

git branch -a

我们的本地分支机构比远程分支机构多。分支“feature16”还没有被推送到远程仓库。这只是正常操作的一个方面,不是问题。

我们的问题是分支“feature19”应该被命名为“feature18”。所以这就是我们要纠正的错误。

如何在 Git 中重命名本地分支

您可以通过两种方式在本地重命名分支。您可以签出分支并重命名,或者您可以在其他分支工作时重命名分支。

要重命名当前 分支,请确保您已签出并正在使用要重命名的分支。然后使用带有 -m(移动)选项的 git branch 命令。

git checkout feature19
git branch -m feature18

我们检查了“feature19”分支并将其重命名为“feature18”。让我们看看我们的分支现在是什么样子。

git branch

我们的分支现在在本地存储库中具有正确的名称。

如果你愿意,你可以在另一个分支工作时重命名一个分支。这是我们在“master”分支中工作的示例。

git branch

我们使用的命令与之前的命令相同,但我们需要提供我们正在重命名的分支的当前名称,以及我们希望它拥有的新名称。

git branch -m feature19 feature18
git branch

同样,我们本地存储库中的分支已使用正确的名称重命名。

如何在 Git 中重命名远程分支

远程存储库仍然保留具有旧名称的分支。要重命名远程分支,我们删除旧分支并推送新分支。

如果其他用户使用此分支并向其推送提交,则您应该在本地重命名之前进行拉取。这确保您的本地存储库是最新的,并且其他用户所做的更改不会丢失。在本地重命名分支之前将他们的更改拉回您的存储库,这意味着当您将其推回远程存储库时,这些更改将位于新分支中。

让我们看一下分支机构的状态。我们将使用 -a(全部)选项来查看本地和远程分支。

git branch -a

我们需要从远程存储库中删除“feature19”,并将“feature18”推送到远程。

git push origin --delete feature19

系统将提示您输入远程存储库的密码。删除完成后,您会看到一条确认消息。

现在我们将新分支推送到远程,并使用 -u(设置上游)选项

git push origin -u feature18

同样,系统会提示您输入遥控器的密码。新分支被推送到远程,我们被告知分支“feature18”已设置为跟踪分支本地副本中的更改。

让我们再次检查我们的本地和远程分支机构处于什么状态。

git branch -a

我们的分支在本地和远程都成功改名了,远程分支正在跟踪我们本地分支的变化。

重命名分支很简单

使用 Git,重命名分支很简单。如果您是唯一使用需要重命名的存储库或分支的人,那将非常简单。

如果其他人共享该分支,请确保您与他们沟通您将重命名该分支,并且他们应该推送任何未提交的工作。当他们推送后,您可以拉取分支,然后在本地和远程重命名您的分支。