我遵循git-flow模式,我有疑问。
首先,我从' develop'
添加一个新的功能分支# Checkout from develop branch
$ git checkout -b <branch>
# Push and track <branch>
$ git push --set-upstream origin <branch>
功能完成后,我按照将完成的功能纳入开发:
# Switch to 'develop'
$ git checkout develop
# Merge <branch> into 'develop'
$ git merge --no-ff <branch>
# Remove <branch> locally
$ git branch -d <branch>
# Remove <branch> remotely <-- ???
$ git push origin develop
最后一个命令是我不确定的命令。它会远程删除我刚刚在本地删除的<branch>
吗?
答案 0 :(得分:2)
没有; <branch>
只能通过git branch -d <branch>
在本地删除,但它的副本存在于远程(如果之前被推送)。这可以通过运行git branch -vvvv
来验证,这将显示没有关联的本地跟踪分支的远程分支。
git push origin develop
只会 将develop
推送到您的远程存储库(origin),而不会触及任何其他内容(禁止任何提交挂钩)。如果<branch>
确实远程存在并且您想要将其删除,则必须将删除操作添加为单独的步骤(git push origin :<branch>
)。
答案 1 :(得分:1)
感谢您的评论。现在,我理解你所问的答案是否定的。在git-flow模型中,功能分支不会被推送到远程,因此所有操作都会影响您的本地git存储库。
如果您已将功能分支推送到远程仓库,则需要手动将其删除。