繁体   English   中英

使用裸仓库挂钩将服务器还原为过去的提交

[英]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.

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