我是git的新手并且正在做以下事情:
git checkout -b mybranch
...Make changes
git push origin mybranch
此时我可以看到远程服务器上的mybranch分支
现在我做了:
git checkout master
git merge mybranch
现在我没有看到我的主人在遥控器上的合并更改,我通常会再次推动:
git push origin master
这是正确的方式吗?关于最后的推动,我不确定。没有git教程我看到有关合并后的步骤的讨论。所以,我有一种感觉,我做的不对,但不确定是什么。
答案 0 :(得分:2)
是。你正确地做到了。
当你这样做时:
git checkout master
git merge mybranch
...您只是将本地mybranch
合并到本地master
。然后,您需要将其推送到遥控器。据我所知,git push
在任何情况下都不会合并。如果存在冲突,那么Git会通知您,您必须执行git pull
(将获取远程分支并尝试自动合并),然后执行git push
。
请注意git push
的行为取决于您的跟踪分支机构和您的配置。例如,根据您的配置,命令git push
而不提供分支名称可能会将所有本地分支或仅当前分支推送到远程分支。默认情况下,不带参数的git push
会导致所有本地跟踪分支被推送到远程仓库。
有关详细信息,man git-push
是您的朋友。
答案 1 :(得分:2)
是的,这是正确的。
git checkout master
git merge mybranch
这两个命令基本上将mybranch
分支合并到master
分支上。合并后,这些更改仅在您的本地存储库中。要使这些更改显示在远程存储库中,您必须推送这些更改。您可以通过以下方式完成:
git push origin branch_name
在你的情况下变成,
git push origin master