簡體   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