我在本地环境中安装了SourceTree。我在一个企业的共享git repos集合中工作。看起来管理员创建了一个新的回购RepoY,我们之前只有1个回购(RepoX)。我不小心在RepoY中创建了BranchZ,我需要删除它。
我在RepoY下通过SourceTree选择了BranchZ,右键单击并且我能够"删除"但它现在显示左侧有一个红色减号。我试图"删除"分支但SourceTree返回以下错误:"错误:无法删除分支' BranchZ'你当前在哪。"
我无法在回购中切换分支,因为BranchZ是回购中唯一的分支。如果我在SourceTree中双击不同的仓库,那么我只能在RepoY中删除RepoY但不能删除BranchZ。有没有办法做我尝试通过SourceTree做的事情,或者这是SourceTree的限制?
答案 0 :(得分:4)
使用git init
创建git存储库时,默认情况下将创建master分支。我认为在您的情况下,主分支可能会被某些错误删除,或者您意外地将其重命名。所以,在这种情况下,你可以从SourceTree做的是,
master
master
分支BranchZ
分支或者从命令行
cd <repo_dir>
git branch master
git checkout master
git branch -d BranchZ
答案 1 :(得分:2)
您不允许删除您所在的分支,首先您已经结帐到另一个分支,因为它是唯一的分支,您只需检查主分支(每个仓库都有主分支,如果它没有被删除)。然后你就可以删除,但要确保你的回购正确。
git checkout master
git push origin :<branchName> (it deletes local and remote branch in case of you already pushed commits)
答案 2 :(得分:0)
现在可以在Sourcetree的UI中完成此操作。
转到(远程)分支视图,选择要删除的节点,右键单击,选择 Branch ...
在“分支窗口”中,切换到删除分支标签。
根据需要删除或强制删除分支,然后再次签出。
答案 3 :(得分:0)
我尝试了源代码树,但没有成功。实现它的最佳方法是登录您的 bitbucket 并从那里删除分支。您可以在本地使用终端删除目标分支。
比特桶: 分支 -> 您的目标分支 -> 从 (...) 菜单中“删除”操作。
删除本地分支:
git checkout master
git branch -d target-branch