[英]Revert server to past commit with bare repository hooks
我有一台带有裸git存储库的服务器,可以推送到该服务器进行实时部署。 它具有一个简单post-receive
钩子,可使用master
上的最新钩子更新我的服务器代码。
当在生产服务器上发现错误时,有时有时需要恢复到过去的特定提交(我在本地测试自己,但是我什么都没抓住)。 有没有一种不错的方法可以通过此设置恢复到以前的提交?
*好吧,我的意思是说像推送到裸仓库一样的单行代码: git push prod master
如果您想在历史记录中保留错误 ,这将添加提交以补偿您指定的提交。 (必须在本地检出master),例如,如果要还原上一次提交,可以使用:
git revert master
git push origin master
如果要从历史记录中删除最后2次提交(必须在本地检出master):
git reset master~2
git push -f origin master
或者在不更改任何本地内容的情况下,这也应该可以正常工作:
git push -f origin master~2:master
最后两个将强制将主服务器从上次master
提交提交更新为第三个。 如果其他人已经撤消了您要删除的提交,这是有问题的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.