Git流是否删除远程服务器上的分支?

时间:2012-06-22 07:08:15

标签: git git-flow

我正在使用git和 git flow 。这里git flow有一个develop分支。每当我需要启动功能时我输入

git flow feature start new

创建了一个新分支feature/new。然后我使用

进行更改并提交
git push origin feature/new

在完成更改后,我使用

完成了功能
git flow feature finish new

在本地删除 feature/new分支。现在我通过git flow切换到开发分支然后我再次输入

git push origin develop

对远程服务器develop分支进行更改

如果我输入git branch -a,新分支会从本地删除,但它位于服务器上,名称为remotes/origin/feature/new

git flow是否会删除远程服务器上的分支,这些分支会在我的本地计算机上删除?

如果我犯了一些错误,请告诉我。

3 个答案:

答案 0 :(得分:36)

查看source,只有当您使用git flow feature finish致电-F时,才会删除远程功能分支。

但是,这会在完成功能之前获取遥控器。来自docs

  

-F 在执行完成之前从$ ORIGIN获取

否则,您可以{:3}}手动执行:

git push origin :feature/new

答案 1 :(得分:20)

我建议使用git-flow AVH Edition。

就像Stefan所说,原始版本只在您使用-F时删除远程分支,这有点奇怪。 AVH版修复了这种古怪的行为,除非您指定

,否则它将始终删除完成时的本地和远程功能分支。
  • --keep,保留本地和远程。
  • --keeplocal,保留本地,但删除遥控器。
  • --keepremote,用于保留远程,但删除本地。

您可以在github上找到git-flow AVH Edition。

答案 2 :(得分:4)

我必须做的事情:

git flow feature delete -f name_feature

如果功能分支内部发生更改,则必须使用-f。

git push origin --delete feature/name_feature

也就是删除远程分支。