远程功能分支未被删除

时间:2014-11-15 19:16:23

标签: git bitbucket branching-and-merging atlassian-sourcetree git-flow

我遇到使用git-flow的问题。不确定这是否是预期的行为所以请为我澄清。

我在Bitbucket中创建一个空的repo并将其克隆到我的本地机器上。然后我在repo中创建一个Xcode项目(我做iOS开发),提交它并将其推送到Bitbucket。

然后我继续并初始化我的本地仓库以使用git flow。我顺便使用SourceTree。然后我创建了一个新的功能分支,我们称之为FirstFeature。我将一些文件添加到项目中并再次推送它。现在我的远程仓库中有3个分支:master,develop和FirstFeature。

然后我再次处理该项目并完成该功能。 FirstFeature分支被删除并与本地开发合并。然后我继续把它推到Bitbucket。我认为自从FirstFeature的本地分支被删除后,当我推送新的更改时它会被删除,但显然不是。那个FirstFeature分支仍在我的Bitbucket仓库中。

这是预期的行为,还是我需要做一些额外的事情来取消这些行为?

谢谢。

2 个答案:

答案 0 :(得分:5)

这是预期的行为。 Git不会将远程存储库视为您的远程存储库;一切都是平等的。因此,您的回购中的所有更改都不会立即反映在遥控器中。

您可以使用以下git-push命令形式执行所需操作:

git push origin :FirstFeature

这是更通用的语法

的特例
git push {remote-name} {local-branch}:{remote-branch}

将其视为推动"没有"到远程分支。

等效地,您可以使用

git push origin --delete FirstFeature

答案 1 :(得分:1)

您需要删除远程主题分支,如下所示:

git push origin :topic_branch