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

时间:2015-08-19 18:18:08

标签: github github-for-windows github-desktop

上周我将Windows Github升级到Github Desktop

它肯定比他们为Github Windows做的上次更新要快得多。它也提供了一个很好的视觉时间线,也许我很愚蠢,但删除本地分支的能力似乎已经消失

在“管理分支机构”之前(也已经过去了)。有什么想法吗?

更新:

v3.0.5中,他们添加了从齿轮菜单中删除本地分支的选项。 enter image description here

7 个答案:

答案 0 :(得分:21)

在Mac OSX上:

对于每个人遇到此问题的最新版本: 选择要删除的分支,转到" Branch" - > "删除分支"

Github Desktop (Mac OSX)

在Windows上:

Github Desktop (Windows)

答案 1 :(得分:19)

这是我从github CS那里得到的答案,当我联系他们时:

  

星期四2015-08-13 3:38 PM丹尼尔,   对于那个很抱歉!我们将在即将发布的版本中添加删除分支的选项。但是现在,在这里,您可以从Git Shell中删除分支:   在GitHub Desktop中点击〜在Git Shell中打开存储库   运行' git branch -d branch_name'   创建新分支时,您应该看到一个选项,可以直接在比较图中发布它。   如果您没有意义,或者您有更多问题,请告诉我们 - 感谢和抱歉给您带来的不便!   罗伯特

我注意到在删除shell中的本地分支和实现更改的git桌面之间存在延迟(大约2或3分钟)。

<强>更新

在3.0.5中他们添加了从齿轮菜单中删除当前分支。

答案 2 :(得分:9)

在桌面上,确保您在正确的分支中,然后按“ ctr + shift + D”。这应删除该分支,此方法在Windows中有效;我无法确认是否使用其他Linux / Mac。

答案 3 :(得分:4)

我个人确认,在新版本中,高级分支管理已被删除,您只能从网站删除分支。

作为个人推荐,您应该尝试Atlassian SourceTree。像魅力一样,它是免费的(需要免费注册),即使它最初开发用于Atlassian的BitBucket存储库,它也适用于GitHub。

顺便说一下,使用SourceTree,您可以删除GitHub分支:)

希望它有所帮助!

答案 4 :(得分:2)

有时我对GitHub Desktop有一个奇怪的行为:当我在GitHub Shell中删除一个分支时,分支继续显示在GitHub桌面的下拉菜单中! ...与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 Desktop无法删除所有分支。

您无法删除带有git update-ref -d refs/remotes/origin/branch*的参考号,然后您已

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

现在,您可以使用git branch -d branch*

删除该分支

答案 5 :(得分:2)

GitHub Desktop v2 中,您可以在此删除当前分支:

enter image description here

使用以下对话框,您也可以从远程删除它:

enter image description here

答案 6 :(得分:0)

我知道这是关于GUI的问题,但是until the feature arrives作为Github Desktop的用户,我发现跳转到命令行ctl + ^并使用以下命令更容易。如果您要删除的内容很多,则比切换到每个分支都容易...

git branch -d <branch_name>