如何将分支机构的更改推送到Git回购?

如何将分支机构的更改推送到Git回购?,git,Git,我从master创建了一个分支来处理给定的特性 git branch new_feature git checkout new_feature 然后我完成了该功能,因此我合并到master并删除了分支: git commit -m "Finished feature" git push origin my_feature git checkout master git merge new_feature git branch -d new_feature 然后我推了推师父: git push

我从master创建了一个分支来处理给定的特性

git branch new_feature
git checkout new_feature
然后我完成了该功能,因此我合并到master并删除了分支:

git commit -m "Finished feature"
git push origin my_feature
git checkout master
git merge new_feature
git branch -d new_feature
然后我推了推师父:

git push origin master

问题是,在存储库中,分支新功能仍然存在于远程回购中,我不理解为什么。如何将本地repo的准确快照推送到远程repo?

这是git的核心概念-它是分布式版本控制系统。因此,存储库的每个工作副本都有自己的生命周期,并且可以与一个远程源存储库同步。 因此,您需要从本地和远程回购中删除分支

git branch -d origin/new_feature
为了避免这种情况,请尽量避免将所有本地分支推送到远程存储库。 当创建特征分支时,只需考虑完成它需要多长时间——也许,将它推到远程,并在本地工作是没有意义的。

如果要删除远程上的NeXY特征分支,则需要单独的Git命令:

git push origin :new_feature
Git解释了上面使用的语法:

因为refspec是:,所以通过省略部分,这基本上意味着使远程上的主题分支为nothing,这将删除它


换句话说,这有点像说没有任何东西链接到远程分支,也就是说,您正在将其断开并删除。

当您说它仍然存在时,您是说它存在于本地,还是在远程存储库中?@TimBiegeleisen在远程存储库中。在本地执行git branch-d my时,它被删除_feature@TimBiegeleisen是的,我的错。我错过了git push origin my_功能的那一行