git推送到多个远程存储库

时间:2014-09-06 20:26:59

标签: git version-control repository push

我有一个我从Heroku克隆的项目,目前是我的起源。

在原产地,我有一个额外的远程GitHub仓库别名GitHub,以及一个Heroku远程仓库用于分段别名阶段。

正在运行

git remote

产量

github
origin
stage

如何遵循处理本地更改的工作流程(通常是GitHub / develop分支) 然后能够推送到GitHub / master,stage / master或origin / master 当我只能进行一次给定的提交并将其推送到一个分支时?

如果我推动说GitHub / develop,那么我想把我在GitHub / develop中所做的更改推到舞台/主人那里,我该怎么做?

这种想要将更改推送到多个远程回购的方案的典型工作流程是什么?

3 个答案:

答案 0 :(得分:1)

  

如果我已经将我的更改推送到github / develop,现在怎么办?   我想把他们推到舞台/主人?

git push stage develop:master -f

上面的命令将强制推动你的本地开发分支作为主人,因为heroku从主人编译它的slug你会看到你的应用程序中的变化。当您想要测试对特定分支的更改而不合并到origin的主服务器时,这可能很有用。

但是,我建议您使用不同的工作流程。创建新分支以将更改推送到登台服务器。让我们说它的当前质量。在部署之前从中提取任何更改 master,currentQA和你的分支。

例如。在工作中我们有一个currentQA分支。每当我们需要在staging上部署任何东西时,我们将我们的分支合并到currentQA并强制将其作为master进行分段。

让我们说我正在研究的分支是someImportantFix:

#push the changes of my branch to origin
git push origin someImportantFix

#switch to currentQA
git checkout currentQA

#pull any changes in the master branch
git pull origin master

#pull any changes in the currentQA branch
git pull origin currentQA

#pull the changes from my branch
git pull origin someImportantFix

#push the changes to origin
git push origin currentQA

#force push and deploy on heroku
git push staging currentQA:master -f

这可能看起来很乏味,但在与团队合作时会有很多帮助。

我们的项目有三个遥控器:

  1. origin - github

  2. 分期 - 暂存heroku

  3. 制作 - 制作heroku

  4. 我们只部署到分期和生产的主分支。

答案 1 :(得分:0)

从github / develop树你做     git push staging develop:master

推送时可以选择遥控器和分支。

答案 2 :(得分:0)

问题:如果我已经将我的更改推送到github / develop,现在我想将它们推送到舞台/主人,该怎么办?

答案:git push stage master