git - 如何从只有 1 个分支的 sourcetree 中的 repo 中删除一个分支?

标签 git atlassian-sourcetree

我在本地环境中安装了 SourceTree。我在一家企业的 git repos 共享集合中工作。看起来管理员创建了一个新的 repo RepoY,而我们之前只有 1 个 repo (RepoX)。我不小心在 RepoY 中创建了 BranchZ,我需要删除它。

我通过 RepoY 下的 SourceTree 选择了 BranchZ,单击鼠标右键,我能够“删除”它,但现在它在左侧显示一个红色减号。我试图“删除”分支,但 SourceTree 返回以下错误:“错误:无法删除您当前所在的分支‘BranchZ’。”

我无法在存储库中切换分支,因为 BranchZ 是存储库中唯一的分支。如果我在 SourceTree 中双击不同的 repo,那么我只能删除 RepoY 而不能删除 RepoY 中的 BranchZ。有没有办法通过 SourceTree 完成我想做的事情,或者这是 SourceTree 的限制?

最佳答案

您不允许删除您所在的分支,首先您必须 checkout 到另一个分支,因为它是您唯一可以简单地 checkout 主分支的分支(如果未删除,每个 repo 都有主分支)。然后你就可以删除了,但要确保你在正确的仓库中。

git checkout master
git push origin :<branchName> (it deletes local and remote branch in case of you already pushed commits)

关于git - 如何从只有 1 个分支的 sourcetree 中的 repo 中删除一个分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35001772/

相关文章:

git - 将正则表达式语法转换为 glob(从 Mercurial 切换到 Git)

git - 存储/分支/工作副本困惑

git - .gitignore 不会忽略文件

Git pull 错误 "unable to update local ref"如何解决?

git - 跨 merge 丢失提交之谜

git - 如何在 Git 中还原已重命名的文件

git - 如何在自己的计算机上设置自己的本地 Git 服务器?

git - 在 git 中使克隆的存储库成为主存储库

windows - 使用 vagrant ssh 时如何粘贴到 SourceTree 终端窗口

git - 配置 git-lfs 以跟踪超过一定大小的文件