如何在Github桌面版上删除本地分支?

73

上周,我将我的Windows Github升级到Github桌面版

它肯定比他们为Github Windows做的最后一次更新要快得多。它还有一个漂亮的提交可视化时间线,也许我很傻,但删除本地分支的能力似乎消失了

以前它在“管理分支”下(现已消失)。有什么想法吗?

更新:

v3.0.5中,他们添加了从齿轮菜单中删除本地分支的选项。 输入图像说明


1
只是一个提示:当使用Git Flow时,提交的可视化时间轴非常有用 ;) - Cristian Meneses
1
真的!我可能有点苛刻了...它还是很酷的哈哈。 - Bruffstar
8个回答

39

在Mac OSX上:

对于所有遇到最新版本问题的人: 选择您想要删除的分支,转到“Branch”->“Delete Branch”

Github Desktop (Mac OSX)

在Windows上:

Github Desktop (Windows)


22

这是我联系GitHub客服后得到的答复:

2015年8月13日星期四下午3:38,你好 Daniel, 很抱歉造成不便!我们将在即将发布的版本中添加删除分支选项。但现在,您可以通过以下方式从Git Shell中删除分支: 在GitHub桌面版中按 ~ 打开仓库,进入 Git Shell 运行 'git branch -d 分支名称' 创建新分支时,您应该会看到一个选项,直接在比较图表中发布它。 如果不明白或有更多问题,请告诉我 - 谢谢并再次道歉! 罗伯特

我注意到在Shell中删除本地分支和Git Desktop实现更改之间存在延迟(大约2或3分钟)。

更新:

在3.0.5版本中,他们添加了从齿轮菜单中删除当前分支的选项。


嗨,丹尼尔,谢谢你的回复。我一直在使用Git Shell删除分支,当分支被删除时,Github Desktop没有任何延迟,很奇怪。很高兴看到他们在即将发布的版本中修复了这个问题。 - Bruffstar
@danielml01 看起来删除当前分支的功能只添加在 Windows 版本中了? - klode
1
@klode,我也是这么想的,但你可以在 Mac 客户端的“分支”菜单下找到它。 - Brent

15

在 GitHub Desktop 中,你可以在这里删除当前分支:

enter image description here

通过以下对话框,你可以同时将其从远程仓库中删除:

enter image description here


版本1.2.2中,“分支” -> “删除…”被禁用了吗? - CoderDave
1
(看到这个)我刚刚更新到1.2.2版本,创建了一个本地分支,然后顺利删除了该本地分支。你能否将此作为新的SO问题发布,并附上问题的图片,我们可以进行调试吗? - Stefan Collier
你不需要选择特定的分支。只需在分支的下拉列表中右键单击它,然后点击删除,即可显示你在答案中所提到的窗口。 - undefined

10
在桌面上,确保你在正确的分支中,然后按下“ctr+shift+D”。这样应该会删除该分支。这种方法适用于Windows;我无法确认在其他Linux/Mac上是否适用。

欢迎来到StackOverflow,如果需要更好的理解回答,请添加更多的描述和代码,这将尽快解决其他人的问题。 - Nensi Kasundra

5
我亲自确认,在新版本中,高级分支管理已被删除,您只能从网站上删除分支。
个人建议,您可以尝试使用Atlassian SourceTree。它非常好用,免费(需要免费注册),即使最初是为了与Atlassian的BitBucket存储库一起使用而开发的,但它也可以很好地与GitHub配合使用。
顺便说一下,使用SourceTree,您可以删除GitHub分支:)
希望这有所帮助!

2
如果我从网站上删除一个分支... 那么在本地,它只会再次显示“发布”,似乎真的没有删除它的选项,除非从命令行中删除。顺便说一句,对于 Source Tree,我给它加一分,之前我用过它,它真是太棒了。 - Bruffstar
加一分给 SourceTree.. 它刚解决了我的问题。它确实让你这样做 - 是的。 - timothy

3
有时我在GitHub Desktop上会出现一个奇怪的问题:当我在GitHub Shell中删除一个分支时,该分支仍然会显示在GitHub Desktop的下拉菜单中! ...使用GitHub Desktop的“删除分支名称...”功能也是同样的情况。
我通过使用git show-ref列出所有引用来解决这个问题。
cf7c75b18e47a566f5bebccd3746f19fa426af4f refs/heads/master
cf7c75b18e47a566f5bebccd3746f19fa426af4f refs/remotes/origin/HEAD
540b3c8032f76ec13c84d6f40de885b996465dcb refs/remotes/origin/branch1
cf7c75b18e47a566f5bebccd3746f19fa426af4f refs/remotes/origin/branch2

当存在远程引用时,GitHub桌面无法删除分支。

您无法使用git update-ref -d refs/remotes/origin/branch*删除引用,然后您将会

cf7c75b18e47a566f5bebccd3746f19fa426af4f refs/heads/master
cf7c75b18e47a566f5bebccd3746f19fa426af4f refs/remotes/origin/HEAD

现在您可以使用git branch -d branch*删除分支。

1

2021年7月28日更新

我很高兴地看到,在Github桌面版(至少在Mac上),您不仅可以右键单击分支名称并从分支列表中选择删除,

enter image description here

但是,在确认对话框中,您也可以选择删除远程分支。自然,在执行此操作之前,您需要确认这是您想要的操作。

enter image description here

原始命令行指令

我知道这是关于图形用户界面的问题,但是在该功能到来之前, 作为Github桌面版的用户,我发现更容易通过命令行ctl + ^进入并使用以下命令。如果您需要删除很多内容,这比切换到每个分支要容易得多...

git branch -d <branch_name>

0
右键点击您想要删除的分支,将显示3个选项,您需要点击删除。

enter image description here

或者,如果您想要删除当前分支,请从分支下拉菜单中选择“删除”选项。

enter image description here

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接