如何在本地和遠端刪除git中的分支

在GitHub中刪除分支的原因有很多。幸運的是,刪除Git分支很容易。...

Git最強大的特性之一是它的輕量級分支。它們允許您高效地處理並行的開發階段。開發人員甚至可以為單獨的bug建立單獨的分支。在時間和空間上,分支幾乎都是免費的。

knife-cutting-branch

許多git工作流同時處理長期分支和臨時分支。因此,在開發過程中經常需要刪除分支。有時需要從遠端伺服器以及本地分支中刪除共享分支。

為什麼要刪除分支?

首先,如果您仍在使用git,那麼很有可能會建立一個分支,然後決定不需要這樣做。或者你可能正在用樹枝做實驗,想自己清理一下。這很好,因為git中的分支是一個輕量級操作。它的速度非常快,並有效地利用了磁碟空間。

因此,許多git開發工作流都鼓勵分支,即使對於非常小或很短的任務也是如此。例如,一個常見的策略是為單個bug修復建立一個分支。即使只有一個作者在一個檔案中做了一行更改,這也是正確的。

由於這些原因,建立和刪除分支是需要很好理解的操作。您可能會發現自己經常在典型的開發工作流中刪除分支。

帶有分支的示例儲存庫

以下示例引用了具有以下結構的示例儲存庫:

$ git branch -vv1 dev 1ae41e8 [origin/dev] first commit2 * main 1ae41e8 [origin/main] first commit

請注意,每個本地分支都有一個來自遠端:origin的對應上游分支。

使用命令列刪除分支

刪除分支的基本命令語法是:

git branch (-d | -D) [-r] <branchname>...

命令的最簡單形式是刪除本地分支,前提是該分支的所有更改都已合併:

$ git branch -d dev

無法刪除當前處於活動狀態的分支;如果嘗試刪除,將收到如下訊息:

error: Cannot delete branch 'main' checked out at '/tmp/sandbox'

當一切順利時,您將看到一條確認訊息:

Deleted branch dev (was 1ae41e8).

如果刪除一個只存在於本地的分支,並且沒有合併更改,則會丟失這些更改。因此,在這種情況下,git將拒絕刪除分支,預設情況下:

error: The branch ‘dev’ is not fully merged.If you are sure you want to delete it, run 'git branch -D dev’.

如錯誤訊息所示,您可以使用-D標誌強制刪除。但是,git允許您刪除遠端存在的未合併本地分支:

warning: deleting branch ‘dev’ that has been merged to'refs/remotes/origin/dev’, but not yet merged to HEAD.Deleted branch dev (was 9a6d20b).

刪除遠端分支是完全不同的。您將使用gitpush命令和-d標誌來刪除。然後,提供遠端伺服器(通常是源站)的名稱和分支名稱:

$ git push -d origin devTo github.com:bobbykjack/sandbox.git- [deleted] dev

使用github桌面刪除本地和遠端分支

與命令列git程式不同,GitHub的桌面應用程式只允許刪除活動分支。您可以透過分支選單執行此操作,方法是選擇刪除選項並確認:

A screenshot showing how to delete a branch using GitHub desktop

GitHub桌面不允許您刪除預設的分支,例如main,即使git本身支援這一點。如果預設分支是當前活動的分支,則應用程式將禁用選單操作。

如果分支還表示遠端分支,GitHub Desktop還提供了從遠端刪除它的選項:

A screenshot showing a remote branch being deleted in GitHub Desktop

使用gitkraken刪除分支

GitKraken在左側邊欄中顯示儲存庫的本地和遠端分支。必須分別刪除每個。

將滑鼠懸停在相應的分支名稱上,然後單擊分支操作選單,該選單看起來像三個垂直點。從選單中,選擇刪除&lt;分支名稱&gt;:

Deleting a local branch using GitKraken

您將看到一條確認訊息,通知您這是一次破壞性操作。您可以透過“刪除”按鈕確認是否要繼續:

A screenshot of GitKraken showing a warning when attempting to delete a branch

為了反映git命令列程式的預設行為,必須首先切換到要刪除的分支以外的分支。否則,您將看到一條錯誤訊息:

A screenshot of GitKraken showing an error when attempting to delete the current branch

使用塔刪除本地和遠端分支

刪除帶有Tower的分支與刪除帶有GitKraken的分支非常相似。本地和遠端分支顯示在左側的面板中。右鍵單擊任何分支,然後從關聯選單中選擇“刪除”選項:

A screenshot showing how to delete a local branch in Tower

一個關鍵區別是,在確認過程中,可以將遠端分支與其本地分支一起刪除:

A screenshot showing the confirm dialog in Tower when deleting a branch

刪除github上的分支

GitHub只充當遠端源,因此預設情況下那裡的分支是遠端的。如果使用GitHub網站刪除分支,則必須使用此處的其他方法之一刪除相應的本地分支。

與GitHub桌面應用程式一樣,GitHub網站將不允許您刪除預設分支。該選項根本不會出現。不過,刪除分支很簡單。在儲存庫的“程式碼”頁中,單擊“分支”連結,找到要刪除的分支,然後單擊“刪除此分支”圖示,該圖示看起來像一個垃圾桶:

A screenshot of the Branches page on GitHub

請注意,沒有檢查未合併的更改,因此在GitHub上,分支將立即被刪除。但是,由於它總是表示一個遠端分支,因此這應該是您所期望的行為。

注意,刪除之後,您將看到一個按鈕來恢復分支。不過,這只是一個有用的撤消功能,以防意外單擊刪除圖示。不要依賴它,因為一旦你重新整理或離開頁面,你就會失去選擇!

A screenshot of GitHub showing the effects of a branch having been deleted

刪除bitbucket上的本地和遠端分支

Bitbucket與GitHub一樣,不允許刪除預設分支。Bitbucket將其稱為儲存庫設定中的主分支。您可以透過相應的操作選單刪除“分支”選項卡上列出的任何其他分支:

A screenshot showing a Branch Acti*** menu on Bitbucket

如果要執行大型清理操作,也可以一次刪除多個分支:

A screenshot showing multiple branches being deleted on Bitbucket

刪除分支是典型git工作流的一部分

Git分支會使您的工作流複雜化,特別是帶有本地、遠端和跟蹤分支的分支。但是對於簡單的日常開發,您可能一直在建立和刪除本地分支。這是您應該習慣的典型git工作流的一個核心方面。

  • 發表於 2021-03-28 02:05
  • 閱讀 ( 57 )
  • 分類:程式設計

你可能感興趣的文章

如何使用git分支來構造程式設計專案

... git如何儲存東西 ...

  • 發佈於 2021-03-12 01:24
  • 閲讀 ( 48 )

像使用git的程式設計師一樣管理檔案版本控制

...交的第一步是“暫存”新的或更新的項。看看上面的輸出如何讓你知道有“未老化”的變化?您可以使用以下命令暫存目錄中的所有內容(遞迴,即包括子資料夾及其檔案): ...

  • 發佈於 2021-03-13 08:00
  • 閲讀 ( 37 )

將mac上的finder替換為以下3個應用之一

...會想退出應用程式並解除安裝它,而不是試圖弄清楚它是如何工作的。躺下,讓這種感覺過去,準備好以可消化的塊探索應用程式。你一定會發現一些有用的(很酷的)特性。 ...

  • 發佈於 2021-03-25 20:25
  • 閲讀 ( 68 )

windows的5個最佳免費ftp客戶端

...案傳輸和遠端檔案編輯。無論您使用哪種,它都可以同步本地目錄和遠端目錄。 ...

  • 發佈於 2021-03-25 21:12
  • 閲讀 ( 58 )

下面介紹如何清理git並刪除未跟蹤的檔案

... 如何清理git並刪除未跟蹤的檔案或資料夾 ...

  • 發佈於 2021-03-26 21:32
  • 閲讀 ( 37 )

什麼是windows中的psexec?它做什麼?

... 你肯定在想這怎麼可能,對吧?在本文中,您將學習如何下載和安裝PsExec,如何啟動它,以及一些基本命令。不費吹灰之力,讓我們潛水吧! ...

  • 發佈於 2021-03-27 03:01
  • 閲讀 ( 53 )

加入社會化編碼潮流,為github儲存庫做出貢獻

...流,分享你的技能,幫助開源世界受益。在本文中,瞭解如何將程式碼貢獻給GitHub上的儲存庫或任何託管的git服務。 ...

  • 發佈於 2021-03-27 04:33
  • 閲讀 ( 42 )

如何在arch linux中安裝和刪除軟體包

想在Arch Linux上安裝軟體包但不知道如何安裝?很多人在第一次從基於Debian的發行版遷移到Arch時都面臨這個問題。但是,您可以使用包管理器在基於Arch的系統上輕鬆地管理包。 ...

  • 發佈於 2021-03-28 02:18
  • 閲讀 ( 59 )

如何在github上建立第一個儲存庫

... 在本教程中,我們將探討如何建立Github儲存庫、推送提交、標記釋出等等。 ...

  • 發佈於 2021-03-28 23:04
  • 閲讀 ( 58 )

如何在git中建立新分支

...制概念的核心,尤其是Git。本文將介紹什麼是分支,以及如何使用多種不同的工具建立分支。 ...

  • 發佈於 2021-03-29 17:44
  • 閲讀 ( 53 )
yzmissg2
yzmissg2

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦