如何从git存储库中删除分支?

时间:2016-10-06 16:45:41

标签: git version-control git-branch

对于版本控制,我大部分时间都接触过Mercurial,但是想要更好地使用Git。我曾经有过一个工作流程似乎没有在Git初学者的教程和示例中显示,即从存储库中删除分支。

场景是这样的:主分支有一堆提交,并且在某些时候,我为某个功能创建了一个功能分支,该功能可能会在某个时间点合并。然而;分支被放弃了,更多的提交被添加到master。现在已经决定不需要在功能分支上开发功能,也不应该将其推送到中央存储库。在mercurial中,使用TortoiseHg,我会做以下事情:

http://i.imgur.com/hnLLrLF.png

从编号中删除编号为4,5和6的提交,留下我所需的最终存储库:

http://i.imgur.com/n42zbmg.png

我尝试过使用git branch -D <branch-name>,但这似乎没有达到我的预期。似乎该分支上的提交保留在存储库中,它只是删除了分支名称。

使用Git存储库实现该工作流的最佳/最安全/最简单/最快/更多类型的方式是什么?

1 个答案:

答案 0 :(得分:0)

删除远程分支

git push <remote name> --delete <branch name>

现在其他人需要修剪他们的追踪分支

git fetch --prune <remote name>

删除本地分支

git branch -D <branch name>