App下載

Git 刪除分支——如何刪除本地或遠程分支

微醉陽光 2021-08-27 10:25:07 瀏覽數(shù) (39453)
反饋

Git 是一種流行的版本控制系統(tǒng),也是 Web 開發(fā)人員工具包中必不可少的工具。分支是使用 Git 的一個強大且不可或缺的部分。在本文中,您將學習有關(guān)如何在 Git 中刪除本地和遠程分支的基礎(chǔ)知識。

Git 中的分支是什么?

分支是指向提交的指針。

Git 分支是從特定時間點開始的項目及其更改的快照。

在處理大型項目時,有包含所有代碼的主存儲庫,通常稱為main或master。

分支允許您創(chuàng)建原始主要工作項目的新的、獨立的版本。您可以創(chuàng)建一個分支來編輯它以進行更改、添加新功能或在嘗試修復錯誤時編寫測試。一個新的分支可以讓你在不以任何方式影響主代碼的情況下做到這一點。

總而言之 - 分支讓您可以在不影響核心代碼的情況下更改代碼庫,直到您完全準備好實施這些更改。

這有助于您保持代碼庫整潔有序。

為什么要刪除 Git 中的分支?

因此,您已經(jīng)創(chuàng)建了一個分支來保存要在項目中進行的更改的代碼。

然后,您將該更改或新功能合并到項目的原始版本中。

這意味著您不再需要保留和使用該分支,因此刪除它是一種常見的最佳做法,以免它弄亂您的代碼。

如何在 Git 中刪除本地分支

本地分支是您本地機器上的分支,不會影響任何遠程分支。

在 Git 中刪除本地分支的命令是:

git branch -d  local_branch_name
  • git branch 是在本地刪除分支的命令。
  • -d是一個標志,是命令的一個選項,它是--delete. 顧名思義,它表示您要刪除某些內(nèi)容。-local_branch_name是要刪除的分支的名稱。

讓我們通過一個例子來更詳細地研究一下。

要列出所有本地分支,請使用以下命令:

git branch

我有兩個,分支master和test2. 如圖所示,我目前在test2分支上(*):

Screenshot-2021-08-25-at-4.13.14-PM

我想刪除test2分支,但無法刪除您當前所在和查看的分支。

如果您嘗試這樣做,您將收到如下所示的錯誤:

Screenshot-2021-08-25-at-4.17.50-PM

因此,在刪除本地分支之前,請確保使用以下git checkout命令切換到您不想刪除的另一個分支:

git checkout branch_name

#where branch_name is the name of the branch you want to move to
#in my case the other branch I have is master, so I'd do:
#git checkout master

這是輸出:

Screenshot-2021-08-25-at-4.20.40-PM

現(xiàn)在我可以刪除分支:

Screenshot-2021-08-25-at-5.10.13-PM

我們剛剛使用的刪除本地分支的命令并非在所有情況下都有效。

如果分支包含未合并的更改和未推送的提交,則該-d標志將不允許刪除本地分支。

這是因為任何其他分支都看不到提交,并且 Git 正在保護您免于意外丟失任何提交數(shù)據(jù)。

如果你嘗試這樣做,Git 會顯示一個錯誤:

Screenshot-2021-08-25-at-5.23.46-P??M

正如錯誤所暗示的那樣,您需要改用該-D標志:

git branch -D local_branch_name

-D帶有大寫-- delete --force字母D(它是 的別名)的標志會強行刪除本地分支,無論其合并狀態(tài)如何。

但請注意,您應(yīng)該謹慎使用此命令,因為沒有提示要求您確認您的操作。

僅當您絕對確定要刪除本地分支時才使用它。

如果您沒有將其合并到另一個本地分支或?qū)⑵渫扑偷酱a庫中的遠程分支,您將面臨丟失所做的任何更改的風險。

Screenshot-2021-08-25-at-5.33.41-PM

如何在 Git 中刪除遠程分支

遠程分支與本地分支是分開的。

它們是托管在遠程服務(wù)器上的存儲庫,可以在那里訪問。這與本地分支相比,本地分支是本地系統(tǒng)上的存儲庫。

刪除遠程分支的命令是:

git push remote_name -d remote_branch_name
  • git branch您可以使用該命令刪除遠程分支,而不是使用用于本地分支的git push命令。
  • 然后您指定遙控器的名稱,在大多數(shù)情況下是origin.
  • -d是刪除標志,是--delete.
  • remote_branch_name 是要刪除的遠程分支。

現(xiàn)在,讓我們看一個如何刪除遠程分支的示例。

要查看任何遠程分支,請使用以下命令:

git branch -a

該-a標志(一個別名--all)顯示所有分支機構(gòu)-本地和遠程。

Screenshot-2021-08-25-at-7.35.31-PM

我有兩個名為masterand 的本地分支test和兩個遠程分支origin/masterand origin/test。

的-r,一個別名--remotes,顯示僅在遠程存儲庫。

Screenshot-2021-08-25-at-7.37.12-PM

我想刪除遠程origin/test分支,所以我使用命令:

git push origin -d test

輸出:

Screenshot-2021-08-25-at-7.39.34-PM

這刪除了test名為 的遠程存儲庫中的分支origin。

該origin/test遠程倉庫就不再出現(xiàn)了:

Screenshot-2021-08-25-at-7.42.01-PM

結(jié)論

您現(xiàn)在知道如何在 Git 中刪除本地和遠程分支。感謝閱讀,祝學習愉快!


1 人點贊