46

我正在使用 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 是否会删除在我的本地计算机上删除的远程服务器上的分支?

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

4

3 回答 3

42

查看源代码似乎只有当您调用git flow feature finish时才会删除远程功能分支-F

但是,这会在完成该功能之前获取遥控器。从文档

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

否则,您可以使用以下命令手动删除远程分支:

git push origin :feature/new
于 2012-06-22T07:46:24.647 回答
30

我可以建议使用 git-flow AVH 版。

就像 Stefan 说的,原版只在你使用时删除远程分支-F,这有点奇怪。AVH 版修复了这个古怪的行为,它总是会在完成时删除本地和远程功能分支,除非你指定

  • --keep,它保持本地和远程。
  • --keeplocal,保留本地,但删除远程。
  • --keepremote,它保留远程,但删除本地。

你可以在github上找到 git-flow AVH 版本。

于 2012-07-29T14:49:43.570 回答
5

我必须做的:

git flow feature delete -f name_feature

如果功能分支内部有更改,则 -f 是必需的。

git push origin --delete feature/name_feature

也就是删除远程分支。

于 2015-08-25T19:35:25.000 回答