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

Posted

技术标签:

【中文标题】如何在 Github Desktop 上删除本地分支?【英文标题】:How do I delete a local branch on Github Desktop? 【发布时间】:2015-11-13 04:25:39 【问题描述】:

上周我将我的 Windows Github 升级到了Github Desktop。

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

之前它在“管理分支”下(也消失了)。有什么想法吗?

更新:

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

【问题讨论】:

提示:提交可视化时间线在使用 Git Flow 时非常有用;) 真的!我可能对它有点苛刻......这很酷哈哈 【参考方案1】:

在 Mac OSX 上:

对于在最新版本中遇到此问题的每个人: 选择要删除的分支,进入“分支”->“删除分支”

在 Windows 上:

【讨论】:

【参考方案2】:

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

2015 年 8 月 13 日星期四下午 3:38 嗨,丹尼尔, 对于那个很抱歉!我们将在即将发布的版本中添加删除分支的选项。但是,现在,您可以通过以下方式从 Git Shell 中删除分支: 在 GitHub Desktop 中点击 ~ 以在 Git Shell 中打开存储库 运行 'git 分支 -d 分支名称' 创建新分支时,您应该会在比较图中看到直接发布它的选项。 如果这没有意义或者您有更多问题,请告诉我 - 感谢并为给您带来的不便表示歉意! 罗伯特

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

更新

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

【讨论】:

您好丹尼尔,感谢您的回复。我一直在使用 Git Shell 删除分支,并且在删除分支时我在 Github Desktop 上没有任何延迟,奇怪。很高兴看到他们在即将发布的版本中进行了此修复。 @danielml01 好像只为 Windows 版本添加了删除当前分支? @klode,我也是这么想的,不过你可以在Mac客户端的“Branch”菜单下找到。【参考方案3】:

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

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

【讨论】:

"Branch" -> "Delete..." 在 1.2.2 版本中被禁用? (看到这个之后)我刚刚更新到 1.2.2,创建了一个本地分支,然后删除了该本地分支,没有任何问题。您能否将其发布为带有问题图像的新 SO 问题,我们可以对其进行调试?【参考方案4】:

在桌面,确保你在正确的分支,然后按“ctr+shift+D”。这应该删除分支,这个方法在windows中有效;我无法确认其他 Linux/Mac。

【讨论】:

欢迎来到 ***,如果需要理解答案,请添加更多描述和代码,因为它会尽快解决其他人的问题【参考方案5】:

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

作为个人建议,您应该试试Atlassian SourceTree。就像一个魅力,它是免费的(需要免费注册),即使它最初是为与 Atlassian 的 BitBucket 存储库一起工作而开发的,它也能与 GitHub 很好地配合。

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

希望对你有帮助!

【讨论】:

如果我从网站上删除一个分支......然后,在本地,它只是再次说“发布”,似乎真的没有选择删除它,除了从命令行。顺便说一句 +1 源树,我以前用过,太棒了。 源代码树加 1.. 刚刚解决了我的问题。它确实让你这样做 - 是的【参考方案6】:

有时我对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 Desktop 根本无法删除所有分支。

你不能用git update-ref -d refs/remotes/origin/branch*删除一个引用,然后你就有了

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

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

【讨论】:

【参考方案7】:

2021 年 7 月 28 日更新

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

但是,您也可以在确认对话框中选择删除遥控器上的分支。在这样做之前,您自然会想要确认这是您希望的操作。

原始命令行说明

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

git branch -d <branch_name>

【讨论】:

【参考方案8】:

右键单击要删除的分支将显示 3 个选项,您必须单击删除。

或者如果你想删除当前分支然后选择 -> 从分支下拉列表中删除选项。

【讨论】:

以上是关于如何在 Github Desktop 上删除本地分支?的主要内容,如果未能解决你的问题,请参考以下文章

使用GitHub Desktop提交PR

彻底卸载github desktop for mac

Windows 上 GitHub Desktop 的操作[转]

如何使用Git命令将项目从github或者服务器上克隆下来

如何在Windows上安装Github?安装github

使用GitHub Desktop上传本地的项目文件