2012-06-22 109 views
33

我使用git以及git flow。这里git流程有一个develop分支。无论何时我需要启动我输入的功能Git流是否删除远程服务器上的分支?

git flow feature start new 

新分支feature/new已创建。然后我做的修改和他们使用

git push origin feature/new 

comitting更改后提交我使用

git flow feature finish new 

删除本地feature/new分公司完成功能。现在我切换到开发由混帐支流动我再次键入

git push origin develop 

其更改远程服务器develop分支

如果键入git branch -a,新科得到了来自当地,但它删除服务器上是否有名称remotes/origin/feature/new

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

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

回答

29

看着source看起来,只有当您拨打git flow feature finish-F才能删除远程功能分支。

然而,这种获取远程完成功能之前。从docs

-F进行完工

否则之前,从$ ORIGIN取你可以delete the remote branch手动:

git push origin :feature/new 
14

我可以建议使用混帐流AVH版。

像斯特凡说,当你使用-F,这是有点怪原来的版本只删除远程分支。该AVH版修复了这个古怪的行为,它总是会删除本地和远程特性分支上完成,除非您指定

  • --keep,这使本地和远程。
  • --keeplocal,这使当地的,但删除遥控器。
  • --keepremote,这使遥控器,但删除本地。

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

+0

AVH版会更好地处理'''功能拉“吗?我只是设置了一个赏金,因为在原来的git-flow中'''pull'功能非常混乱(http://stackoverflow.com/questions/18412750/why-doesnt-git-flow-feature-pull-track ),感谢任何输入有一个cannonical答案。 – dashesy

+0

功能拉动命令将在每个版本2.0中弃用,并且只有功能轨道可用。 –

+0

有没有一种方法可以在删除特征分支HEAD之前自动标记它的位置?我喜欢看到git-web中的绿色标签,但是当远程被删除时,这些标签就会消失。 – avatarofhope2

2

我不得不这样做:如果有新特性分支内的变化

git flow feature delete -f name_feature 

的-f是必要的。

git push origin --delete feature/name_feature 

也就是说也要删除远程分支。