2015-09-11 29 views
-1

我有一個託管在OpenShift上的應用程序,它允許通過將應用程序添加爲Git遠程並將更改推送到應用程序來部署應用程序。僅用於部署的遠程GIT repo的回滾

我添加了一些破壞服務器啓動的代碼,所以我想回滾到以前的提交。要做到這一點,我試圖推提交與遠程回購: git push openShiftRemote 6f0c6aa5d397e2ac46f34e533d2e33e3d7dde625:master

的Git拒絕這個,這個消息迴應:Updates were rejected because a pushed branch tip is behind its remote

這聽起來像我應該能夠使其通過包含-f工作標誌強制推送。我有一個單獨的遠程存在用於拉動等。OpenShift遠程存在完全用於部署,所以我不認爲使用-f會打破任何東西。

這是安全嗎?更重要的是,這是完成這個最好的方法嗎?

回答

0

我不知道OpenShift,但你可以很容易地恢復在git提交。 做'git log'並獲得提交的提交哈希,這是錯誤的。

git revert <commit-hash> 
git push origin <branch-name> 

Git將恢復您以前的提交,它在回滾到上一次簽入時在邏輯上相同。

在大多數情況下,使用'回覆'比回滾要好,因爲您可以跟蹤所做的事情,並且還可以在需要時重用代碼。