簡體   English   中英

刪除從未推送過的本地 Git 分支 - 在服務器上也將其刪除?

[英]Deleting a local Git Branch that was never pushed - delete it on the server, too?

我做了一個本地分支,但后來意識到我不需要它。

如果我從本地存儲庫中刪除它,我是否也必須從遠程刪除它? 我只是創建了那個分支,並沒有在其中添加、提交或推送任何東西——簡而言之,我沒有在其中做任何事情。

如果你沒有將分支推送到遠程,你可以簡單地在本地刪除它:

git branch -d my_branch

注意:如果您沒有將分支合並到上游或當前分支,git 將拒絕刪除它,以免您丟失分支中的提交。 如果您確定不需要提交,可以使用git branch -D my_branch強制刪除。


您可以通過鍵入以下內容獲得所有分支的概覽:

git branch -a

這可能會給出如下內容:

*  master
   my_branch
   remotes/origin/master

(帶*的分支是您當前的分支)

請注意,遠程 'origin' 沒有本地分支my_branch ,因為您還沒有推送它。 即使您已經在本地添加並提交了分支,它也不會在遠程(直到您推送它)。

如果您確實推送了它,則可以將其從遙控器中刪除,如下所示:

git push origin :my_branch

看來您來自 SVN 背景(盡管我不確定)。 所以這里是要點。 1. 在本地創建分支與遠程無關,直到您推送它。

  1. 您提交的所有內容都將駐留在您的本地計算機中,並且只有您推送它才會轉到遠程。

因此,如果您確定不再需要它,您可以繼續刪除本地分支。

但是你想仔細檢查這個本地分支是否有遠程引用然后刪除后你可以運行git fetch然后通過執行命令git branch --all檢查該分支是否仍然存在

如果分支僅存在於您的本地環境中,則只需通過以下步驟將其刪除;

獲取所有本地分支機構;

git branch

輸出將是這樣的;

* your_local_branch (which you want to delete)
  master

git checkout master

然后在本地刪除,

git branch -d your_local_branch

如果要刪除遠程分支(如果分支已被推送到 git repo)

git push origin :your_local_branch (if it is pushed)

您需要在控制台中輸入

git branch -D myBranch

如果您在嘗試git branch -d branchName時遇到錯誤,請先嘗試取消暫存本地的所有更改,然后結帳到 master。 並嘗試-D選項強制刪除分支。

git reset

git checkout master

git branch -D branchName

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM