我从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
问题在于,远程存储库中的分支new_feature
仍然存在,我不明白为什么。如何将本地存储库的确切快照推送到远程存储库?
答案 0 :(得分:1)
如果要删除遥控器上的new_feature
分支,则需要一个单独的Git命令:
git push origin :new_feature
Git documentation解释了上面使用的语法:
由于refspec是
<src>:<dst>
,因此省略了<src>
部分,这基本上是说使主题分支不在远程对象上,从而将其删除。
换句话说,这有点像说没有任何链接到远程分支,即您正在将其删除并删除。
答案 1 :(得分:0)
这是git的核心概念-它是分布式版本控制系统。因此,存储库的每个工作副本都有自己的生命,并且可以与一个远程(原始)存储库同步。 因此,您需要从本地和远程仓库中删除分支。
git branch -d origin/new_feature
为了避免这种情况,请尝试避免将所有本地分支推送到远程存储库。 创建功能分支时,只需考虑要花多少时间才能完成它-也许将其推送到远程并只在本地工作没有意义?