繁体   English   中英

Heroku:git push分期local-branch:master

[英]Heroku: git push staging local-branch:master

我们有本地功能分支,github origin分支以及Heroku stagingproduction远程分支。

作为地方特色由更多的观众评审准备就绪,我们希望他们推到staging

$ git push staging local-branch-name:master
Fetching repository, done.
To git@heroku.com:app-staging.git
 ! [rejected]        local-branch-name -> master (non-fast-forward)
error: failed to push some refs to 'git@heroku.com:app-staging.git'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

我的一部分希望--force问题,但是git push -f到远程是禁忌。 我可以按照“提示”中的说明进行更改,但是鉴于我们推送到分阶段的分支通常是短暂的,并且彼此之间几乎没有关系,这似乎是不必要和令人困惑的。

在Heroku上共享登台服务器的正确程序是什么?

本质上,您是在登台服务器上将git用作部署机制,而不是用于版本控制。 您已经在github上拥有了真正的远程服务器,因此,只要您从未从中拉出更改,就不会看到强行将其推送到登台服务器的危害。

强制推送通常是一个坏主意,原因有两个。

  1. 您可能会丢失提交 如果您强行推送到分支机构前面的远程服务器,那么那些在您分支机构之前的提交将丢失。

  2. 您可以破坏其他开发人员的存储库。 如果您强制推送到另一个开发人员已经拉过的远程分支,则他们的分支将与远程​​不同步,并且可能很难恢复。

但是,在这种情况下,您只是送到存储库。 您将永远不会丢失提交,因为上游永远不会在任何特定分支之前。 而且,它永远不会被其他开发人员拉扯。 由于这些原因,在这种情况下可以强制推动。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM