使用Gitflow删除“feature”分支而不合并到主分支

46

我正在使用Atlassian公司的Git GUI称为'Souretree',特别是'Gitflow'模块来管理各种分支。

我刚刚创建了一个不想合并回主分支或开发分支的'release'分支。我该怎么处理它?我可以直接删除吗?我担心会搞砸gitflow配置。

我只在这个分支上做了一次提交,我不在意它。

3个回答

58

根据以下来源,似乎我可以直接删除分支:

Evan Hahn dominiksymonowicz

引用 Evan 的话:

要使用 git-flow 删除一个分支,只需像通常删除 Git 分支一样将其删除:

git branch -D whatever/branch/you/wanna/delete

请注意,这将进行强制删除,因此您在该分支上进行的任何操作都将丢失。您可以使用小写字母 -d 标志更安全地执行。

所以,使用 Sourcetree GUI 接口,我首先切换到另一个分支(在我的情况下是 develop),然后简单地右键单击左侧面板中分支列表中的 release 分支名称,并选择 Delete release/releaseName。这使我有了以强制删除的方式进行操作的选项,这在我的情况下是必要的,因为我想删除未合并的提交。


2
这并不会远程清除分支。如果您尝试再次运行 git flow feature start whatever/branch/you/wanna/delete,您会发现会出现“致命错误:分支'whatever/branch/you/wanna/delete`已经存在,请选择另一个名称”的提示。 - StLia
1
使用原始 Git 删除分支是可以的,但它会在本地配置文件中留下孤立的条目。由于没有“git flow feature delete”,我通常会发出“git config --local --edit”命令,并手动删除我不再需要的 [gitflow "branch.feature..."] 条目。将它们保留在那里没有任何不良影响,只是我不喜欢这种混乱。 - PillowMetal

28

实际上,我上周为一个开发团队写了一篇如何文章,并在此分享:

删除本地分支

git branch -d branch_name

删除远程分支

git push origin --delete branch_name
如果您不删除远程分支,则在尝试创建具有相同名称的分支时,您将遇到问题,或者您将留下需要在将来修剪的分支。
此外,假定您的远程是称为origin,但如果不同,则需要更改上面的内容。

2

要删除功能分支。首先,您必须切换到另一个分支。如果您在要删除的分支上或者还没有切换到其他分支,请执行以下命令:

  • git checkout <another_branch_name>

切换到另一个分支后,您可以使用以下命令删除功能分支:

  • git branch -d <Removable_branch_name>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接