如何从 git 存储库中删除分支?
How do I strip branches from a git repository?
对于版本控制,我主要接触 Mercurial,但也想更好地使用 Git。有一个我习惯做的工作流程在 Git 初学者的教程和示例中似乎没有太多显示,即从您的存储库中删除一个分支。
场景是这样的:master分支有一堆commit,某个时候,我为一个可能会在某个时间点合并的功能创建了一个功能分支。然而;分支被放弃,更多的提交被添加到 master。现在已经决定不需要在特性分支上开发特性,也不应该推送到中央存储库。在 mercurial 中,使用 TortoiseHg,然后我将执行以下操作:
http://i.imgur.com/hnLLrLF.png
编号为 4、5 和 6 的提交从存储库中删除,留下我想要的最终存储库:
http://i.imgur.com/n42zbmg.png
我试过使用 git branch -D <branch-name>
,但它似乎没有达到我的预期。该分支上的提交似乎保留在存储库中,它只是删除了分支名称。
使用 Git 存储库实现该工作流程的 best/safest/easiest/quickest/name-more-types-here 方法是什么?
删除远程分支
git push <remote name> --delete <branch name>
现在其他人需要修剪他们的跟踪分支
git fetch --prune <remote name>
删除本地分支
git branch -D <branch name>
对于版本控制,我主要接触 Mercurial,但也想更好地使用 Git。有一个我习惯做的工作流程在 Git 初学者的教程和示例中似乎没有太多显示,即从您的存储库中删除一个分支。
场景是这样的:master分支有一堆commit,某个时候,我为一个可能会在某个时间点合并的功能创建了一个功能分支。然而;分支被放弃,更多的提交被添加到 master。现在已经决定不需要在特性分支上开发特性,也不应该推送到中央存储库。在 mercurial 中,使用 TortoiseHg,然后我将执行以下操作:
http://i.imgur.com/hnLLrLF.png
编号为 4、5 和 6 的提交从存储库中删除,留下我想要的最终存储库:
http://i.imgur.com/n42zbmg.png
我试过使用 git branch -D <branch-name>
,但它似乎没有达到我的预期。该分支上的提交似乎保留在存储库中,它只是删除了分支名称。
使用 Git 存储库实现该工作流程的 best/safest/easiest/quickest/name-more-types-here 方法是什么?
删除远程分支
git push <remote name> --delete <branch name>
现在其他人需要修剪他们的跟踪分支
git fetch --prune <remote name>
删除本地分支
git branch -D <branch name>