关于版本控制:如何从Git存储库中剥离分支?

How do I strip branches from a git repository?

本问题已经有最佳答案,请猛点这里访问。

对于版本控制,我主要接触到了Mercurial,但也希望更好地使用Git。有一个我曾经做过的工作流,在Git初学者的教程和示例中似乎没有显示太多,即从存储库中删除一个分支。

场景是这样的:主分支有很多提交,在某个时刻,我为一个可能在某个时刻合并的特性创建了一个特性分支。但是,分支被放弃了,更多的提交被添加到master。现在已经决定不需要在特性分支上开发特性,也不应该将其推送到中央存储库。在Mercurial中,使用TortoiseHg,然后我将执行以下操作:

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

其中,编号为4、5和6的承诺从回购协议中删除,留给我所需的最终存储库:

3) Leaving a clean repo with the feature branch gone.

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

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


删除远程分支

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

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

1
git fetch --prune <remote name>

删除本地分支

1
git branch -D <branch name>