如何在 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 上删除本地分支?的主要内容,如果未能解决你的问题,请参考以下文章