如何在本地删除分支?

问题描述 投票:0回答:9

我的存储库中有一个 master 分支和一个 dev 分支。我想从我的计算机中删除 master 分支,这样我就不会意外地提交它(它已经发生了..)。

这里有关于如何在本地删除分支和远程的问题,但我一直无法找到如何只在本地删除分支。

一个答案说用这个:

git branch -d local_branch_name

但我尝试过,分支仍然显示在 GitHub 应用程序中。

git github
9个回答
225
投票

强制删除本地分支:

$ git branch -D <branch-name>

[注意]:

-D
--delete --force
的快捷方式。



137
投票

我认为(根据您的评论)我理解您想要做什么:您希望存储库的本地副本既没有普通的本地分支

master
也没有远程跟踪分支
origin/master
,甚至尽管您克隆的存储库(github 存储库)有一个本地分支
master
,但您不希望从 github 版本中删除该分支。

您可以通过在本地删除远程跟踪分支来做到这一点,但每次您要求 git 将本地存储库与远程存储库同步时,它都会简单地返回,因为您的 git 会询问他们的 git“您有哪些分支”并且它说“我有

master
”,所以你的 git 为你(重新)创建
origin/master
,这样你的存储库就有了他们的存储库。

要使用命令行界面在本地删除远程跟踪分支:

git branch -d -r origin/master

但同样,它只会在重新同步时返回。也可以克服这个问题(使用 remote.origin.fetch 操作),但是你最好遵守足够的纪律,不要在本地创建或修改

master
    


35
投票
您错误地向本地 master 添加了提交

并且还没有推动这一变化。 现在您想要取消更改并希望删除本地更改并从远程创建一个新的主分支。 您只需重置更改并从远程服务器重新加载主版本:

git reset --hard origin/master



16
投票
$ git branch -d [branch_name]

在本地删除了分支,则远程分支仍然存在于您的 Github 存储库中,并且无论 Windows Github 应用程序中如何都会显示。


如果您想完全删除分支(也可以远程删除),请结合使用上述命令和

$ git push origin :[name_of_your_new_branch]

警告:
此命令会删除所有现有分支,并可能导致代码丢失。小心,我不认为这就是你想要做的。 但是,每次删除本地分支更改时,远程分支仍然会出现在应用程序中。如果您不想继续进行更改,请忽略它并且不要单击,否则您可能会克隆存储库。如果您还有任何疑问,请告诉我。


14
投票

git branch -d BranchName

要删除远程存储库中不再存在的分支,请使用:

git fetch -p

-p

表示修剪,从本地存储库中删除远程中不存在的分支。

    


3
投票
Git GUI

删除 Windows 上的多个分支:

转到您的项目文件夹
  1. 打开 Git Gui:
  2. 点击“分支”:
  3. 现在选择“删除”:
  4. 如果您想删除除合并与否之外的所有分支,请选中“始终(不执行合并检查)”

2
投票

git分支-d


2
投票
简单又容易。它将删除除您正在处理的所有内容以及“开发”和“掌握”之外的所有内容。


1
投票

1) 转到 Github 上存储库的“设置”选项卡。

2) 单击左侧菜单上的“分支”。

3) 单击“添加规则”

4) 输入“master”作为分支模式。

5) 勾选“合并前需要进行拉取请求审查”

我还建议对你的开发分支做同样的事情。

© www.soinside.com 2019 - 2024. All rights reserved.