如何将分支更改推送到Git Repo?

时间:2018-10-29 14:24:08

标签: 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 origin master

问题在于,远程存储库中的分支new_feature仍然存在,我不明白为什么。如何将本地存储库的确切快照推送到远程存储库?

2 个答案:

答案 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

为了避免这种情况,请尝试避免将所有本地分支推送到远程存储库。 创建功能分支时,只需考虑要花多少时间才能完成它-也许将其推送到远程并只在本地工作没有意义?