Git:推送到每个分支的不同位置

时间:2015-03-03 21:36:35

标签: git github git-branch

我想设置一个git存储库,我可以在其中根据我所在的分支推送/拉取我/来自不同位置的更改。
这个想法是有两个分支:

  • 主人:内部发展(我根本不允许发表)I 会从本地Stash
  • 推/拉
  • dev:用于从github中提取更改并返回,并使用它进行合并 偶尔会改变主人

我认为通过这种设置,我可以轻松地在同一个项目上处理内部/公共开发。 现在我一直坚持如何做到这一点。我跟着this回答了,但在我看来 远程位置只能应用于整个存储库,而不能用于单独的分支。

如何解决这个问题?如果这不是可行的方法,请向我建议一个最佳实践。

1 个答案:

答案 0 :(得分:1)

git push的长格式为:

git push remotename localbranch:remotebranch

它为您提供了选择性地将分支机构推送到所需远程控制器所需的所有灵活性。

实施例

  1. master分支推送至origin

    git push origin master
    
  2. develop分支推送至myfork

    git push myfork develop
    
  3. develop分支推送到newbranch上名为myfork的分支

    git push myfork develop:newbranch
    
  4. 带冒号的完整语法也可用于删除分支。这会从newbranch中删除myfork,而不是#34;进入它

    git push myfork :newbranch
    
  5. 我倾向于大多使用git的显式命令,而不是依赖于某些默认行为。每当一个同事被困在git上时,他的命令历史中通常会有一个简单的git pullgit push,这会让我微笑(或者如果我心情特别糟糕则叹气)。

    由于您还要求提示,在推送之前您可能想要环顾四周:

    git remote -v
    git fetch remotename
    git branch -a