'git push origin <branch>' 会在本地删除后远程删除 <branch> 吗?

Will 'git push origin <branch>' remove <branch> remotely after removing it locally?

我正在遵循 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> 吗?

感谢您的评论。既然我明白你在问什么,答案是否定的。在 git-flow 模型中,功能分支不会推送到远程,因此所有操作都会影响您的本地 git 存储库。

如果您已将功能分支推送到远程仓库,则需要手动将其删除。

否; <branch> 仅通过 git branch -d <branch> 在本地删除,但它的副本存在于远程(如果它之前被推送到那里)。这可以通过 运行 git branch -vvvv 来验证,这将显示没有关联的本地跟踪分支的远程分支。

git push origin developdevelop 推送到您的远程存储库(源),而不会触及任何其他内容(除了任何提交挂钩)。如果 <branch> 确实存在于远程并且您想删除它,则必须将删除操作添加为一个单独的步骤 (git push origin :<branch>)。