如何将本地Git分支推送到远程主分支?

pic*_*rdo 440 git remote-server git-push git-branch

我在我的本地仓库中有一个名为develop的分支,我想确保当我将它推到原点时它与origin/master合并.目前,当我将它添加到远程开发分支时.

我怎样才能做到这一点?

mip*_*adi 756

$ git push origin develop:master
Run Code Online (Sandbox Code Playgroud)

或者,更一般地说

$ git push <remote> <local branch name>:<remote branch to push into>
Run Code Online (Sandbox Code Playgroud)

  • 真的@MangirdasSkripka!如果你不想指定当前分支的名称,只需使用`git push origin head:master` :) (42认同)
  • 不要执行"git push origin:master",它可以删除遥控器上现有的分支 (24认同)
  • 好主意@FrancescRosàs,虽然是HEAD(大写字母). (22认同)
  • @NeerajSharma:我不知道修理许可是什么,或者你想要移动什么. (9认同)

Eug*_*ine 182

正如人们在评论中提到的那样,你可能不想这样做......如果你知道你在做什么,mipadi的答案绝对是正确的.

我会说:

git checkout master
git pull               # to update the state to the latest remote master state
git merge develop      # to bring changes to local master from your develop branch
git push origin master # push current HEAD to remote master branch
Run Code Online (Sandbox Code Playgroud)

 

  • 简而言之,在他的请求中有一些意义,我正在使用该案例将我的开发部署(推送)到Heroku master (19认同)
  • 同样,这种技术仅适用于高级git用户.并不是说它太难了,它只需要人们了解他们在做什么,以及为什么它的工作方式.每个人都可以自由地使用git,但我认为遵循我建议的方法更适合教育目的,特别是对于git新手.清洁"主题分支"是开始的方式,您可以在以后根据需要优化工作流程. (5认同)
  • 这实际上是一件相当常见的事情。主分支通常是您的部署分支。如果两个团队故意分散部署,那么您很可能会使用精心挑选的本地分支来将补丁推送到上游。现在,您可能会争辩说,应该将更改推送到上游分支,然后从那里合并到主分支中,但以其他方式执行此操作当然并不奇怪,IMO。 (2认同)