如何在 Git 中重命名分支

已發表: 2022-12-26

藍色背景上的 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 中很重要
在重命名之前列出 Git 中的分支
如何在 Git 中重命名本地分支
如何在 Git 中重命名遠程分支
重命名分支很簡單

為什麼分支名稱在 Git 中很重要

與經典版本控制系統 (VCS) 中的分支有關的任何事情都是一件大事。 它需要對正在添加或合併分支的協調一致的理解,並且所有使用該存儲庫的人都必須確保他們沒有做任何事情——或者忘記做某事——以便操作繼續並取得成功。

涉及分支機構的操作通常也非常緩慢。 使用分支有一個時間懲罰。 Git 從一開始就被設計成不同的。 因為它是一個分佈式版本控制系統,所以每個用戶在他們的本地機器上都有一個完整存儲庫的副本。

Git rebase:你需要知道的一切
相關Git rebase:你需要知道的一切

除非您將分支推送到遠程存儲庫,否則在本地計算機上創建分支不會影響任何其他人。 在 Git 中,分支操作被設計為既易於使用又能快速完成。 Git 中的分支在計算方面非常便宜。 這是本地存儲庫中的一個微不足道的操作。

事實上,鼓勵開發人員進行分支,並且經常進行分支。 分支只是您從中受益的 VCS 中的另一個工具。 分支在 Git 中並不是什麼可怕的東西,它們是它最常用的功能之一。

但熟悉會導致蔑視。 或者,至少,對分支機構的隨意關注。 在 Git 中創建分支可能快速而簡單,但您在創建分支時仍然需要集中註意力。 很容易輸入錯誤的分支名稱,或者鍵入錯誤的名稱,從而導致分支名稱錯誤。

如果分支要在某個時候被推送到遠程存儲庫,則需要正確拼寫。 如果不是,當其他人嘗試使用它時會造成混淆。

相關: Git 分支如何工作?

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

檢查當前分支名稱是什麼是很好的第一步。 git branch命令為我們列出分支。 您可以使用此命令查看本地存儲庫中的分支:

 分支

使用 git branch 命令列出本地分支

分支機構已為我們列出。 當前分支以綠色突出顯示並帶有星號。

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

 git 顯示分支

使用 git show-branch 命令列出分支及其提交

您可以通過包含 -r(遠程)選項來查看遠程存儲庫上的分支。

 git 分支 -r 

使用 git branch -r 命令列出遠程分支

要使用一個命令查看本地和遠程分支,請使用-a (全部)選項。

 git 分支 -a 

使用 git branch -a 命令列出本地和遠程分支

我們的本地分支機構比遠程分支機構多。 分支“feature16”還沒有被推送到遠程倉庫。 這只是正常操作的一個方面,不是問題。

我們的問題是分支“feature19”應該被命名為“feature18”。 這就是我們要糾正的錯誤。

相關:如何更新和維護單獨的 Git 分支

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

您可以通過兩種方式在本地重命名分支。 您可以簽出該分支並重命名它,或者您可以在其他分支中工作時重命名該分支。

要重命名當前分支,請確保您已簽出並正在使用要重命名的分支。 然後使用帶有-m (移動)選項的git branch命令。

 git 結帳功能 19
 git 分支 -m feature18 

檢查分支“feature19”並重命名

我們檢查了“feature19”分支並將其重命名為“feature18”。 讓我們看看我們的分支現在是什麼樣子。

 分支

列出分支以檢查分支“feature19”是否已重命名為“feature18”

我們的分支現在在本地存儲庫中具有正確的名稱。

如果你願意,你可以在另一個分支工作時重命名一個分支。 這是我們在“master”分支中工作的示例。

 分支

列出分支以檢查我們在主分支上

我們使用的命令與之前的命令相同,但我們需要提供我們正在重命名的分支的當前名稱,以及我們希望它擁有的新名稱。

 git branch -m feature19 feature18
 分支

從另一個分支中重命名一個分支

同樣,我們本地存儲庫中的分支已使用正確的名稱重命名。

相關:如何在 GitHub 中創建一個新分支

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

遠程存儲庫仍然保留具有舊名稱的分支。 要重命名遠程分支,我們刪除舊分支並推送新分支。

如果其他用戶使用此分支並向其推送提交,則您應該在本地重命名之前進行拉取。 這可確保您的本地存儲庫是最新的,並且不會丟失其他用戶所做的更改。 在本地重命名分支之前將他們的更改拉回您的存儲庫,這意味著當您將其推回遠程存儲庫時,這些更改將位於新分支中。

讓我們來看看我們的分支機構的狀態。 我們將使用-a (全部)選項來查看本地和遠程分支。

 git 分支 -a 

使用 git branch -a 命令列出本地和遠程分支

我們需要從遠程存儲庫中刪除“feature19”,並將“feature18”推送到遠程。

 git push origin --delete feature19 

使用 git 的 --delete 選項刪除遠程分支

系統將提示您輸入遠程存儲庫的密碼。 刪除完成後,您會看到一條確認消息。

現在我們將新分支推送到遠程,並使用 -u(設置上游)選項

git push origin -u feature18 

將分支推送到遠程存儲庫

同樣,系統將提示您輸入遙控器的密碼。 新分支被推送到遠程,我們被告知分支“feature18”已設置為跟踪分支本地副本中的更改。

讓我們再次檢查我們的本地和遠程分支機構處於什麼狀態。

 git 分支 -a 

使用 git branch -a 命令列出本地和遠程分支

我們的分支在本地和遠程都成功改名了,遠程分支正在跟踪我們本地分支的變化。

相關:如何刪除本地和遠程存儲庫上的 Git 分支

重命名分支很簡單

使用 Git,重命名分支很簡單。 如果您是唯一使用需要重命名的存儲庫或分支的人,那將非常簡單。

如果其他人共享該分支,請確保您與他們溝通您將重命名該分支,並且他們應該推送任何未提交的工作。 當他們推送後,您可以拉取分支,然後在本地和遠程重命名您的分支。

相關:如何將 git 與多個遠程存儲庫一起使用